1.salt安装服务器环境
准备2台机器
192.168.11.250 master端(主人)
192.168.11.167 minion端 (奴隶 )
2.两台机器配置hosts文件,用于加速域名解析,以及分别安装 salt-master 和salt-minion软件
服务端:vim /etc/hosts
192.168.11.167 s17slave
192.168.11.250 s17master
客户端:同样 vim /etc/hosts
192.168.11.167 s17slave
192.168.11.250 s17master
3.分别安装软件
安装master服务端
yum install salt-master -y
安装salve客户端
yum install salt-minion -y
4.主master的配置文件
如下 /etc/salt/master
interface: 0.0.0.0
publish_port: 4505
user: root
worker_threads: 5ret_port: 4506
pidfile: /var/run/salt-master.pid
log_file: /var/log/salt/master
~
5.从 minion的配置文件
master: s17master
master_port: 4506
user: rootid: s17slave
acceptance_wait_time: 10log_file: /var/log/salt/minion
6.分别开启 salt-master salt-minion,查看秘钥接收情况
salt-key * #查看所有秘钥情况
salt-key -a 秘钥名 #单独的接收一个秘钥信息
#秘钥接收后,就被管控了
#让s17slave这台机器,执行一条命令
salt "s17slave" cmd.run "touch /tmp/大烧饼.txt "
#检查两条秘钥情况
在主执行
salt-key -f s17slave
在从执行
salt-call --local key.finger
#salt-key
只有Master接受了Minion Key后,才能进行管理。具体的认证命令为salt-key常用的有如下命令。
复制代码
[root@linux-node1 ~]# salt-key -L
Accepted Keys: #已经接受的key
Denied Keys: #拒绝的key
Unaccepted Keys:#未加入的key
Rejected Keys:#吊销的key
#常用参数
-L #查看KEY状态
-A #允许所有
-D #删除所有
-a #认证指定的key
-d #删除指定的key
-r #注销掉指定key(该状态为未被认证)
#在master端/etc/salt/master配置
auto_accept: True #如果对Minion信任,可以配置master自动接受请求
#检测从机器是否存活
salt "*" test.ping
#salt的命令参数格式
salt命令 参数 目标 salt模块的函数 远程执行的参数
#返回值的格式替换
salt --out=json "*" cmd.run "hostname"
#返回yaml的语法格式
salt --out=yaml "*" cmd.run "hostname"
#远程安装nginx
salt "*" pkg.install "nginx"
salt "*" pkg.remove "nginx"
#yaml语法学习
{
"s17":{
"男同学":["带劲","虎牙","股价为"],
"女同学":["卜老师","于建才","湿老师"]
}
}
#yaml语法转换如下
"s17":
"男同学":
- "2b"
"女同学":
- "美女"
#salt数据管理之grains
salt 's17slave' grains.items
salt 's17slave' grains.item ipv4 #单独找出ipv4的信息
#远程关机
local.cmd('*','cmd.run',['poweroff'])