SaltStack自动化运维管理(一)——简介与部署
- 1. saltstack简介
- 2. saltstack安装与配置
- 2.1 设置官方YUM仓库
- 2.2 master端设置
- 2.3 minion端配置
- 2.4 master端执行命令允许minion连接
1. saltstack简介
- saltstack是一个配置管理系统,能够维护预定义状态的远程节点。
- saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。
- saltstack是运维人员提高工作效率、规范业务配置与操作的利器。
- Salt的核心功能
- 使命令发送到远程系统是并行的而不是串行的
- 使用安全加密的协议
- 使用最小最快的网络载荷(因为是使用消息队列通信)
- 提供简单的编程接口
- Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。
saltstack通信机制
SaltStack 采用 C/S模式,minion与master之间通过ZeroMQ消息队列通信,默认监听4505端口。
Salt Master运行的第二个网络服务就是ZeroMQ REP系统,默认监听4506端口。
2. saltstack安装与配置
官网:https://www.saltstack.com/
官方文档:https://docs.saltstack.com/en/latest/
这里暂时先准备三台虚拟机来做此次实验(server1,server2,server3),配置虚拟机可以上网(配置方法点击这里)。
2.1 设置官方YUM仓库
在server1,server2,server3上:
cd /etc/yum.repos.d/
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm
yum clean all
yum repolist
yum list salt-master
在server1上安装salt-master
yum install -y salt-master
在server2和server3上安装salt-minion
yum install -y salt-minion
2.2 master端设置
在server1:
systemctl enable salt-master #设置master自启动
systemctl start salt-master #启动master服务
netstat -antlp #查看端口
ps ax
yum install -y python-setproctitle.x86_64
systemctl restart salt-master
ps ax
2.3 minion端配置
在server2和server3:
vim /etc/salt/minion
master: 172.25.1.1 #设置master主机的ip
systemctl enable salt-minion
systemctl start salt-minion
netstat -antlp #查看端口
2.4 master端执行命令允许minion连接
salt-key -L
salt-key -A
salt-key -L
yum install -y lsof
lsof -i :4505
salt '*' test.ping
salt server2 test.ping
salt server3 test.ping
salt -E 'server[1-4]' test.ping
salt -E 'server[1-4]' cmd.run hostname
salt -E 'server[1-4]' cmd.run df
salt -E 'server[1-4]' cmd.run 'df -h'
注意:如果在master端找不到minion端,可能的原因有两个:
- 防火墙有问题,可以将防火墙关闭
- minion主机名修改后,master端无法及时知晓,可以将minion端/etc/salt/路径下的
minion_id文件删掉,再重启minion端即可
到此,一个简单的SaltStack自动化运维管理系统就部署好了。