- SaltStack分Master和minion端,也就是服务端和客户端。
- 我们一般选择C/S模式运行它,当网络环境局限性较大时,例如防火墙需过滤流量,限制端口使用,则使用SSH tunnel运行它。
- 下面我们以例子来说明,服务端IP地址为192.168.0.1,客户端IP地址为192.168.0.2 – 192.168.0.9
安装epel:yum install epel-release -y
在192.168.0.1上, 从EPEL安装saltstack服务端:yum install salt-master -y && service salt-master start 在192.168.0.2 - 192.168.0.9上 从EPEL安装saltstack客户端(监控端):yum install salt-minion -y && vi /etc/salt/minion
在192.168.0.2 - 192.168.0.9上,修改配置文件中的服务端IP地址,客户端需要知道服务端IP地址,也可以使用主机名,使用主机名时,需要在内网DNS上设置解析或设置本地hosts解析。 vi /etc/salt/minion 去掉#号并添加服务端IP地址 #master: 192.168.0.1 & service restart salt-minion 注意:所有服务器的主机名,必须合理解析,简单的办法是,每台主机把自己的主机名在本地hosts当中指向127.0.0.1,或者在内网DNS中对每个主机名进行正确的解析。
接下来进行pki部分的操作,我们需要在服务端中,设置允许访问服务端的客户端, cd /etc/salt/pki/master salt-key 可以看到,配置好且启动后的客户端会连接服务端,但是会出现在Unaccepted keys,需要进行一个允许的操作,下面我们是批量操作,允许所有未接受的主机状态变更为接受。 salt-key -A 然后挨个点一下Y
测试一下连接,salt '*' test.ping,正常的主机会显示True值。
常用: salt '*' sys.doc > /home/www/salt.txt salt '*' test.ping salt '*' cmd.run 'ping www.qq.com -c 5' salt '*' cmd.run 'pa uaxw|grep java' salt '*' grains.get ip_interfaces:eth0 salt -G os:CentOS cmd.run 'w' salt '*' service.available nginx salt '*' service.reload nginx salt '*' service.status nginx salt '*' network.active_tcp