一、简介
Saltstack 是基于Python 开发的自动化运维工具(服务器基础架构集中化管理平台),也是基于 C/S 架构,服务端 master 和客户端 minions ;Saltstack 和 Puppet 很像,可以说 Saltstatck 整合了 Puppet 和 Chef 的功能,更加强大,更适合大规模批量管理服务器,并且它比 Puppet 更容易配置。结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。
三大功能: 远程命令执行,配置管理(服务,文件,cron,用户,组),云管理(监控和)。
支持系统:大多数都支持,windows 上不支持安装 master。
通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
二、saltstack的部署
实验环境:
server1:172.25.129.1
server2:172.25.129.2
server3:172.25.129.3
iptables 和selinux 均为关闭状态
1.saltstack的安装
为server1、server2、server3配置saltstack的yum源
在物理机搭建yum源
[root@foundation29 Desktop]# mv rhel6/ /var/www/html
[root@foundation29 Desktop]# cd /var/www/html
[root@foundation29 html]# ls
rhel6 yum仓库示图:可参考第三方库的搭建https://blog.csdn.net/l675655077/article/details/80170040
在server1、server2、server3配置yum源
[root@server1 yum.repos.d]# vim rhel-source.repo
[root@server1 yum.repos.d]# yum clean all
[root@server1 yum.repos.d]# yum repolist
配置server1
[root@server1 salt]# yum install salt-master -y
[root@server1 ~]# cd /etc/salt/
[root@server1 salt]# ls
[root@server1 salt]# /etc/init.d/salt-master start
[root@server1 salt]# netstat -antpl
4505和4506端口已开启,4505(publish_port)为saltstack的消息发布系统,4506(ret_port)为saltstack客户端与服务端通信的端口。
配置server2
[root@server2 yum.repos.d]# yum install salt-minion -y
[root@server2 yum.repos.d]# cd /etc/salt/
[root@server2 salt]# vim minion
[root@server2 salt]# /etc/init.d/salt-minion start
配置server3
[root@server3 yum.repos.d]# yum install salt-minion -y
[root@server3 yum.repos.d]# cd /etc/salt/
[root@server3 salt]# vim minion
[root@server3 salt]# /etc/init.d/salt-minion start
ps:minion端开启服务后,会生成minion_id文件,修改 IP 或 hostname 时,必须删除该文件,重启服务后才可生效.
[root@server1 salt]# salt-key -L ##查看未接收的key
[root@server1 salt]# salt-key -A ##接收minion发来的key
查看master和minion的进程树
查看端口状态:minion和master会通过4505建立常连接进行通信,4506负责与外界通信
检测salt的服务状态
远程执行hostname命令
查看python端口进程