两个TCP端口:
4505:消息发布端口
4506:客户端与服务器端通信端口
master的4505发送,4506接收

安装:
先安装epel,再:
master端:yum install salt-master
minion端:yum install salt-minion

配置:
minion端配置:
vim /etc/salt/minion
master:  #加master的主机名/IP,不加则默认为salt,指定主机名的话需要能解析到
id: #不配置默认为主机名

启动:
service salt-minion start
chkconfig salt-minion on
service salt-master start
chkconfig salt-master on

防火墙规则:
iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT

salt-key命令操作
-L 显示所有key(不加默认也是-L) 
-A 接受所有pending的key
-a 接受指定的key
-y yes,不再确认
-R 拒绝所有pending的key
-r 拒绝指定的key
-D 删除所有的key
-d 删除提定key

远程执行命令
格式: salt '操作目标' 方法 [可选参数]
salt "*" test.ping   #*代表所有minion

minion修改hostname
minion修改hostname需要将原来的相关信息删除并重新添加,具体如下:
先在master上把minion删除:
 salt-key -d minionbefore
在minion上:
 hostname minion1
修改/etc/sysconfig/network里的hostname
 rm -rf minion_id 
 rm -rf /etc/salt/pki/   
/etc/init.d/salt-minion restart
再在master -a接受即可。

salt 'minion1' test.ping

用新的master替换旧master的方法
1.首先部署新的master
2.在旧的master上批量修改saltstatck minion 的配置文件–/etc/salt/minion,将master 参数修改为新的master IP地址:
 salt \* cmd.run " sed -i  's/old_master_ip/new_master_ip/g' /etc/salt/minion "
3.删除所有minion的/etc/salt/pki/minion/minion_master.pub文件:
 salt \* cmd.run "rm -rf /etc/salt/pki/minion/minion_master.pub"
4.重启所有minion的salt-minion进程:
 salt  \* cmd.run "/etc/init.d/salt-minion restart "
5.在新的master上测试接受所有的key
 salt-key -A
6.在master上检查是否可以正常连接到minion:
 salt \*  cmd.run "hostname"


salt的grains可以获取客户端系统相关信息,可用于做cmdb的数据来源

有任何疑问请点击留言: 留言板
本文发布于http://wiki.too2.net,转载请联系本人。