SaltStack 是一款开源可以远程执行命令的配置管理工具。通过远程执行命令管理系统,可以在 master 主机上对 minions 主机进行命令执行并回显命令执行结果。这对于管理多台主机就显得非常方便了,我们可以只在一台 master 主机上操作多台 minions 主机,而不必频繁登录到主机。
系统环境:
- 控制主机(Salt-Master):
IP:172.16.200.10
- 被控节点(Minion):
IP:172.16.200.1
hostname: minion1
1] 在控制主机安装Salt-Master软件包
首先使用”yum” 命令就可以安装最新版的 salt-mater 软件包:
# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm # yum install salt-master -y
安装完成后,修改配置文件”/etc/salt/master”如下:
interface: 10.0.0.209 hash_type: sha256
之后,重新启动 salt-master 并设置为开机启动:
# systemctl start salt-master.service # systemctl enable salt-master.service
2] 设置防火墙,开启saltstack侦听端口
saltstack 默认使用4505-4506进行通信,使用如下命令在 Firewalld 中放行端口:
# firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp # firewall-cmd –reload
3] 在被控节点安装salt-minion
被控节点的 salt-minion 软件包安装成配置同 master类似,首先使用 yum 命令安装 salt-minion 软件:
# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm # yum install salt-minion
安装完成后,修改配置文件”/etc/salt/minion”如下:
master: 10.0.0.209 hash_type: sha256
最后,重新启动 salt-minion 并设置为开机启动:
# systemctl start salt-minion.service # systemctl enable salt-minion.service
4] saltstack 控制主机和受控主机互联
现在,的控制主机上执行如下命令,查看已经连接的受控主机:
# salt-key -L
如果配置全部正确,就会显示如下信息:
图.1 salt-master 主机显示 key 信息
可以看以,现在有一台受控主机”minion”还处于”Unaccepted Keys”状态,使用如下命令将其加入接受:
# salt-key --accept=minion
接受受控主机后,再查看 keys 状态的话,就会发现该主机已经被接受,可以远程执行命令了:
图.2 salt-master 接受受控主机
5] saltstack系统功能测试
saltstack 系统互联成功后,就可以执行命令进行功能测试了。在控制主机执行命令的格式为:
# salt Name_of_Accept_key command
其中:
- Name_of_Accept_key 表示已经接受的受控主机名
- command 指想要执行的命令,常用的有test.ping以及cmd.run等,其中cmd.run 后需要指定受控机器上执行的命令
图.3 salt-master远程执行命令并显示相应结果
以上就是安装和配置 saltstack 系统全部过程,如需了解更多细节,可以参考官方文档。