linux

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

成功!

留言

您的电子邮箱地址不会被公开。 必填项已用 * 标注