一、salt-syndic简介
syndic其实就是个代理,隔离master与minion。
Syndic必须要运行在master上,再连接到另一个topmaster上。
Topmaster 下发的状态需要通过syndic来传递给下级master,minion传递给master的数据也是由syndic传递给topmaster。
topmaster并不知道有多少个minion。
syndic与topmaster的file_roots和pillar_roots的目录要保持一致。
二、salt-syndic配置
server4 172.25.63.4 topmaster
server1 172.25.63.1 salt-master(即syndic节点)
server2 172.25.63.2 salt-minion
server3 172.25.63.3 salt-minion
配置topmaster端server4
在server4安装salt-master:
[
root@server4 yum.repos.d]# yum install salt-master -y
[root@server4 ~]# cd /etc/salt/
[root@server4 salt]# vim master
[root@server4 salt]# cat -n master | grep 1047
1047 order_masters: True ##作为顶级master
[root@server4 salt]# systemctl enable --now salt-master.service
配置syndic节点端server1
安装salt-syndic:
[root@server1 ~]# yum install salt-syndic -y
编辑配置文件将其指定为syndic节点:
[root@server1 ~]# vim /etc/salt/master
[root@server1 ~]# cat -n /etc/salt/master | grep 1051
1051 syndic_master: 172.25.63.4 ##指向topmaster
重启master端并启动syndic:
[root@server1 ~]# systemctl restart salt-master.service
[root@server1 ~]# systemctl start salt-syndic.service
配置server4连接server1
接着就可以在topmaster端查看下级master的连接授权:
[root@server4 salt]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
server1
Rejected Keys:
可以看到server1等待授权,接受server1:
[root@server4 salt]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
server1
Proceed? [n/Y] Y
Key for minion server1 accepted.
salt-syndic集群部署成功。
测试
在topmaster执行:
[root@server4 salt]# salt '*' test.ping
server2:
True
server3:
True
可以看出topmaster可以访问到minion端。