目录
一、SaltStack简介
1:基本简介
SaltStack是一种新型的基础设施管理软件,简单易部署。与Ansible、Puppet相同是一款服务器配置和管理的软件。可以管理成千上万的服务器,和足够快的速度控制与他们交流,以毫秒为单位。
2:通信方式
Saltstack是基于python开发的一套C/S架构配置管理工具,使用SSL证书签方的方式进行认证管理。底层使用ZeroMQ消息队列pub/sub方式通信。开放的端口有:4505(用来链接slave,发布订阅)和4506(请求响应,模式为:zmq)。
【注】通过Master和Minion之间的通信进行配置部署
3:功能简介
SaltStack具备配置管理、远程执行、监控等功能。通过部署 SaltStack环境,运维人员可以在成千上万台服务器上做到批量执行命令,根据不同的业务特性进行配置集中化管理、分发文件、采集系统数据及软件包的安装与管理等。简单来说它的两大基础功能就是:配置管理、远程命令执行。剩下就是根据不同的需求*组合,实现更复杂的功能和系统管理。
二、资源获取
1:官网地址:
2:阿里云地址:
https://developer.aliyun.com/mirror/saltstack?spm=a2c6h.13651102.0.0.690e1b11xCa4Nm
三、部署
1:配置环境说明:
操作系统:Redhat
部署分配(server1:Master端;server2、server3:Minion端):
主机名称 | IP | 使用 |
server1 | 192.168.1.11 | Master |
server2 | 192.168.1.12 | Minion端 |
server3 | 192.168.1.13 |
防火墙:防止防火墙对通信影响,保持实验环境纯净,设置防火墙关闭。
systemctl disable --now firewalld.service
2:资源配置
1、 配置yum仓库:
##配置yumm源,在/etc/yum.repos.d/产生salt-latest.repo文件
[root@server1 ~]# sudo yum install https://mirrors.aliyun.com/saltstack/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
##给server2 server3 传输配置文件
[root@server1 ~]# scp salt-latest.repo root@server2:/etc/yum.repos.d/
[root@server1 ~]# scp salt-latest.repo root@server3:/etc/yum.repos.d/
yum源文件内容:
2、软件安装:
##server1安装S端
[root@server1 ~]# yum install -y salt-master.noarch
##server2 3 安装C端
[root@server2 ~]# yum install -y salt-minion.noarch
[root@server3 ~]# yum install -y salt-minion.noarch
3、 服务启动:
##在server1上设置master开机启动
[root@server1 etc]# systemctl enable --now salt-master.service
##在server2 3 上设置minion开机启动
[root@server2 etc]# systemctl status salt-minion.service
[root@server3 etc]# systemctl status salt-minion.service
配置minion端的配置文件(/etc/salt/minion),指定master为server1(192.168.1.11)
##配置文件
[root@server2 salt]# /etc/salt/minion
##修改内容
[root@server2 salt]# vim /etc/salt/minion
14 # Set the location of the salt master server. If the master server cannot be
15 # resolved, then the minion will fail to start.
16 master: 192.168.1.11 ##指定master
上述过程就是完成了SaltStack的安装,下面进行状态检测,查看安装的软件是否能正常的运行。
4、状态检测
##查看server1和server2、server3是否通信
[root@server1 etc]# salt-key -L ##列出所有通信列表
Accepted Keys: ##接受的服务
Denied Keys: ##拒绝的服务
Unaccepted Keys: ##未授权的服务
server2
server3
Rejected Keys:
[root@server1 etc]# salt-key -A ##允许所有服务通信
[root@server1 etc]# salt-key -L ##server2 server3 和server1正常通信
Accepted Keys:
server2
server3
Denied Keys:
Unaccepted Keys:
Rejected Keys:
命令 | 参数 | 含义 |
salt-key | -h | 帮助文档 |
-L | 列出所有公钥 | |
-A | 通过所有公钥认证 | |
-a | 指定通过的参数 | |
-D | 删除所有认证 | |
-d | 删除指定的证书认证 |
通过上述命令可以查看服务是否进行了通信,如果能看到服务通信,证明服务配置完成。
查看master的端口:
通过状态查看和端口通信查看,通信正常。
5、通信测试:
##通信测试
[root@server1 etc]# salt '*' test.ping
【注】上述文章过程是没有热呢问题的,若出现问题,请参考下面文章(undo):