目录
一、SaltStack简介
1:基本简介
2:通信方式
3:功能简介
二、资源获取
1:官网地址
2:阿里云地址
三、部署
1:配置环境说明:
2:资源配置
SaltStack是一种新型的基础设施管理软件,简单易部署。与Ansible、Puppet相同是一款服务器配置和管理的软件。可以管理成千上万的服务器,和足够快的速度控制与他们交流,以毫秒为单位。
Saltstack是基于python开发的一套C/S架构配置管理工具,使用SSL证书签方的方式进行认证管理。底层使用ZeroMQ消息队列pub/sub方式通信。开放的端口 有:4505 (用来链接slave,发布订阅)和4506 (请求响应,模式为:zmq)。
图1 SaltStack的通信模型
【注】 通过Master和Minion之间的通信进行配置部署
SaltStack具备配置管理、远程执行、监控等功能。通过部署 SaltStack环境,运维人员可以在成千上万台服务器上做到批量执行命令,根据不同的业务特性进行配置集中化管理、分发文件、采集系统数据及软件包的安装与管理等。简单来说它的两大基础功能 就是:配置管理、远程命令执 行。剩下就是根据不同的需求自由组合,实现更复杂的功能和系统管理。
https://docs.saltproject.io/en/latest/topics/installation/index.html#platform-specific-installation-instructions
图2 SaltStack官网资源
https://developer.aliyun.com/mirror/saltstack?spm=a2c6h.13651102.0.0.690e1b11xCa4Nm
图3 阿里云SaltSatck资源
操作系统: 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
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源文件内容:
图4 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
图5 软件安装
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
图6 master启动后的状态
图7 minion端启动状态
配置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
图8 minion端指定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
删除指定的证书认证
通过上述命令可以查看服务是否进行了通信,如果能看到服务通信,证明服务配置完成。
图9 通信检测1
查看master的端口:
图10 通信端口监测
通过状态查看和端口通信查看,通信正常。
5、通信测试:
##通信测试
[root@server1 etc]# salt '*' test.ping
图11 通信正常
也可以通过网络端口监控命令进行查看:
##安装命令
[root@server1 ~]# yum install lsof
##查看指定端口
[root@server1 ~]# lsof -i:4505
图12 端口监听检测通信
【注】 上述文章过程是没有问题的,若出现问题,请参考下面文章(undo):