salt--master 和 salt-minion
控制端 被控制端
通过 salt-api 访问 salt-master 来控制salt-minion 执行 命令 返回结果
LINUX 服务器安装过程
master /api
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
yum install -y salt-master yum install -y salt-api pyOpenSSL pip install salt-api pip install cherrypy==3.2.3 cd /etc/pki/tls/certs/ make testcert -->设置秘钥密码,(3次) ,剩下回车 cd ../private/ openssl rsa -in localhost.key -out localhost_nopass.key chmod 755 /etc/pki/tls/certs/localhost.crt chmod 755 /etc/pki/tls/private/localhost.key chmod 755 /etc/pki/tls/private/localhost_nopass.key useradd -M -s /sbin/nologin saltapi passwd saltapi sed -i '/#default_include/s/#default/default/g' /etc/salt/master mkdir -p /etc/salt/master.d cd /etc/salt/master.d vim api.conf rest_cherrypy: port: 8001 ssl_crt: /etc/pki/tls/certs/localhost.crt ssl_key: /etc/pki/tls/private/localhost_nopass.key vim eauch.conf external_auth: pam: saltapi: # 用户 - .* # 该配置文件给予saltapi用户所有模块使用权限,出于安全考虑一般只给予特定模块使用权限 - '@runner' - '@wheel' systemctl restart salt-master systemctl start salt-api
minion
yum install -y salt-minion vim /etc/salt/minion 写入一行 master: 主ip
ip:自己的id_name ip地址 写入 salt-master 的地址
master 控制 minion 端的命令
salt-key -->
-L 列出所有
-a 允许一台minion(id)
-A 允许所有
-r 拒绝一台
-R 拒绝所有
-d 删除指定mini
-D 删除所有
测试
salt '*' test.ping
salt '*' cmd.run 'ls /'
==============salt file模块使用------------->推送文件
修改配置文件/etc/salt/master,打开以下6行的注释
416 file_roots:
417 base:
418 - /srv/salt
529 pillar_roots:
530 base:
531 - /srv/pillar
mkdir -p /srv/salt/files
mkdir -p /srv/pillar
cd /etc/salt
vim host_file.sls
/etc/hosts: file.managed: - source: salt://files/A.zip - user: root - group: root - mode: 644
cd files
这里放 想要推送的包(多个包就把包 打成一个包)
A.zip
salt '*' state.sls ./host_file 执行推送