SaltStack----salt-ssh与salt-syndic
1 salt-ssh
1.1salt-ssh使用场景
- 不使用minion,通过salt-ssh控制所有主机
- minion升级、重启,通过salt-ssh可以实现
- salt-ssh 用的是sshpass进行密码交互的
- 以串行模式工作,性能下降
1.2 实验环境
为了更好的观察实验效果,停止server2的minion服务: systemctl stop salt-minion.service
查看master端的4505端口连接情况:lsof -i :4505
1.3 salt-ssh配置
(1)安装salt-ssh:yum install salt-ssh -y
(2)编辑roster文件,配置需要管理的所有主机:vim /etc/salt/roster
server2:
host: 172.25.12.2
user: root
passwd: westos
(3) 测试:
salt-ssh '*' cmd.run df
salt-ssh '*' test.ping
2 salt-syndic
一个基本的salt配置方式是一个master指挥一群minion,为了不再有假设使用任何单一拓扑结构,考虑多种布局的情况下,开发者引入了syndic,主控master可以控制一群master,通过syndic将操作命令传输给受控master,受控master来完成对自己旗下minion的管理,并将结果传回主控master,从而实现了主控master对所有minion的间接管理。
2.1 salt-syndic简介
- syndic其实就是个代理,隔离master与minion
- Syndic必须要运行在master上,再连接到另一个topmaster上,Topmaster下发的状态需要通过syndic来传递给下级master,minion传递给master的数据也是由syndic传递给topmaster,topmaster并不知道有多少个minion
- syndic与topmaster的file_roots和pillar_roots的目录要保持一致
2.2salt-syndic的配置
(1) topmaster端 (server4)
- 安装salt-master:
yum install salt-master -y
- 启动salt-master服务:
systemctl enable --now salt-master.service
- 编辑salt-master的配置文件:
vim /etc/salt/master
order_masters: True #作为顶级master
(2) 下级master端
-
安装salt- syndic:
yum install -y salt-syndic
-
启动salt- syndic服务:
systemctl enable --now salt-syndic.service
-
编辑salt-master的配置文件:
vim /etc/salt/master
syndic_master: 172.25.12.4
- 重启salt-master服务:
systemctl restart salt-master.service
(3) 测试
salt-key -L #查看下级master的连接授权
salt-key -A #查看下级master的连接授权
salt-key -L #查看下级master的连接授权