linux · 2022年7月15日 0

部署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

成功!