部署SaltStack
SaltStack可根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信
环境说明
IP: 192.168.56.11 主机名:master_11 模式:master 系统:ubuntu20.04 IP: 192.168.56.12 主机名:minion_12 模式:minion 系统:ubuntu20.04
安装saltstack
- Master Server
apt update
apt install salt-master
systemctl start salt-master && systemctl enable salt-master
- Minion Server
apt update
apt install salt-master
systemctl start salt-master && systemctl enable salt-master
Master Server配置
设置master端监听ip
vim /etc/salt/master
interface: 192.168.56.11
重启服务
systemctl restart salt-master.service
接下来,我们需要创建一个密钥,minion 将使用该密钥连接到主节点。
salt-key -F master
Local Keys: master.pem: 11:4a:de:3b:c5:bb:f1:a5:69:74:9f:ea:5d:da:fe:d6:0b:df:4c:70:60:c7:4e:01:08:1e:95:88:f0:ae:90:7d master.pub: ab:05:ba:05:97:34:22:1a:66:c9:50:5c:bc:6f:a8:e4:e6:e8:c3:5e:bf:91:8a:05:14:9b:2b:21:27:a9:1f:df
您需要记下 master.pub 密钥,因为我们需要很快将其添加到 salt minion 的配置中。
最后,我们要打开防火墙中的默认端口。 默认情况下,Salt 使用端口 4505 和 4506。
ufw allow proto tcp from any to any port 4505,4506
Minion Server 配置
添加主服务器上创建的指纹(master.pub)到配置文件中
vim /etc/salt/minion
master_finger: 'ab:05:ba:05:97:34:22:1a:66:c9:50:5c:bc:6f:a8:e4:e6:e8:c3:5e:bf:91:8a:05:14:9b:2b:21:27:a9:1f:df'
设置minion端名称(默认是主机名)
vim /etc/salt/minion_id
minion_12
重启服务
systemctl restart salt-minion
Master Server 配置
显示所有minion
salt-key -L
Accepted Keys: Denied Keys: Unaccepted Keys: minion_12 Rejected Keys:
如您所见,我们现在有一个等待被接受的密钥”minion_12”。 接下来,我们将在 salt master 服务器上接受 minion 的 salt-key。
接受未接受的 Minion 密钥: #salt-key -a minion_12
接受所有未接受的 Minion 密钥: #salt-key -A
测试
通过运行以下命令来验证 salt master 和 salt minion 之间的通信 test.ping
命令
salt minion_12 test.ping
minion_12: True
成功!