文章目录
Saltstack(安装、基本使用)
官方网站:Saltstack官方网站
Saltstack简介
- 基于 C/S 架构(Master + Minion)
- 允许并行而不是串行调用对远程系统的命令
- 使用安全且加密的协议
- 节省网络带宽,提升命令执行效率,尤其在网络条件差(如跨机房、低带宽环境)或节点数量庞大的场景中更重要
- 提供简单的编程接口
Saltstack架构

Saltstack安装部署(yum安装)
github仓库:github.com/saltstack/salt
官方安装指南::slatstack官方安装指南
系统版本:kylinv10SP3
| 主机类型 | IP(主机名) | 安装的应用 |
|---|---|---|
| 控制机 | 10.0.0.111(m01) | salt salt-cloud salt-master salt-minion salt-ssh salt-syndic salt-api |
| 被控机 | 10.0.0.110(by01) | salt-minion |
| 被控机 | 10.0.0.102(nfs01) | salt-minion |
| 被控机 | 10.0.0.103(web01) | salt-minion |
| 被控机 | 10.0.0.104(web02) | salt-minion |
| 被控机 | 10.0.0.108(web03) | salt-minion |
| 被控机 | 10.0.0.109(web04) | salt-minion |
配置官网镜像仓库
shell
#1.安装salt项目存储库
curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.repo | sudo tee /etc/yum.repos.d/salt.repo
#2.清除存储库元数据
dnf clean expire-cache
控制机
shell
#1.主控机安装 salt-minion、salt-master 或其他 Salt 组件
yum -y install salt salt-cloud salt-master salt-minion salt-ssh salt-syndic salt-api
#2.修改/etc/salt/master(让 Master 自动接受所有 Minion 发送的公钥,无需管理员手动批准)
sed -i 's/#auto_accept: False/auto_accept: True/g' /etc/salt/master
#3.启动salt-master服务
systemctl enable --now salt-master
#4.查看端口
ss -tulnp |grep -E "4505|4506"
#6.放行端口
被控机
shell
#1.被控机只用安装salt-minion
yum install -y salt-minion
#2.指定当前 Minion 要连接的 Salt Master 节点的网络地址(10.0.0.111)
sed -i 's/#master: salt/master: 10.0.0.111/g' /etc/salt/minion
#3.启动salt-minion服务
systemctl enable --now salt-minion
控制机测试连通性
shell
#1.查看所有 Minion 密钥状态
[root@m01 ~]# salt-key -L
Accepted Keys: #已接受的密钥(已完成认证,可与 Master 通信)
by01
web01
web02
web03
web04
Denied Keys: # 未接受的密钥(Minion 已发送公钥,但未被 Master 批准,暂不能通信)
Unaccepted Keys: # 已拒绝的密钥(被手动拒绝,不能与 Master 通信)
Rejected Keys:
[root@m01 ~]# salt '*' test.ping
web03:
True
web02:
True
web04:
True
by01:
True
web01:
True
[root@m01 ~]# salt '*' cmd.run "hostname"
web04:
web04
web02:
web02
web03:
web03
web01:
web01
by01:
by01