SaltSack自动化运维:topmaster--syndic--master

Posted Tuki_a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SaltSack自动化运维:topmaster--syndic--master相关的知识,希望对你有一定的参考价值。

topmaster的作用?

顾名思义是顶级master,搭建top master用来管理各个master,实现了master端的横向扩展,减轻了master端的负载压力
通过建立top-master主机管理salt-master端及其salt-minion节点,同时可以进行salt-master主 机的横向扩展,从而通过一个或几个top-master管理多个salt-master及其salt-minion,实现大规模的集群管理。

什么是syndic?

syndic的意思为理事,其实如果叫salt-proxy的话那就更好理解了,它就是一层代理,如同zabbix proxy功能一样,隔离master与minion使其不需要通讯,只需要与syndic都通讯就可以,这样的话就可以在跨机房的时候将架构清晰部署了。
多个master由一个topmaster进行数据汇集。
由client与topmaster进行连接(实际连接的是syndic)。
文档可参照:https://docs.saltproject.io/en/latest/topics/topology/syndic.html

部署topmaster

实验环境

四台虚拟机主机名/ip/角色如下所示:
server4	172.25.26.4	topmaster
server1	172.25.26.1	salt-master
server2 172.25.26.2	salt-minion(1)
server3 172.25.26.3	salt-minion(2)

1、2、3是已经部署好salt的
##为了方便,可以在真机ssh连接虚拟机操作

步骤

在server4下载master并修改配置文件使其成为topmaster

[root@server4 ~]# yum install -y salt-master
[root@server4 ~]# vim /etc/salt/master
#作如下图更改
[root@server4 ~]# systemctl start salt-master.service 

在这里插入图片描述
在master端即server端安装syndic

[root@server1 ~]# yum install -y salt-syndic
[root@server1 ~]# cd /etc/salt/
[root@server1 salt]# vim master
#作如下图更改
syndic_master: 172.25.26.4

在这里插入图片描述
启动syndic服务,并重启master服务

[root@server1 salt]# systemctl restart salt-master.service 
[root@server1 salt]# systemctl start salt-syndic

在topmaster端进行验证连接,如下验证连接成功!

[root@server4 ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
server1
Rejected Keys:
[root@server4 ~]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
server1
Proceed? [n/Y] Y
Key for minion server1 accepted.
[root@server4 ~]# salt-key -L
Accepted Keys:
server1
Denied Keys:
Unaccepted Keys:
Rejected Keys:

使用简单的命令试一下,执行成功!

[root@server4 ~]# salt '*' test.ping
server2:
    True

在这里插入图片描述
至此topmaster部署完毕!

以上是关于SaltSack自动化运维:topmaster--syndic--master的主要内容,如果未能解决你的问题,请参考以下文章

SaltSack自动化运维:SaltAPI

SaltSack 自动化运维2

SaltSack自动化运维:job管理

SaltSack自动化运维:编写简单的远程执行模块

SaltSack自动化运维:Zabbix的部署

SaltSack自动化运维:SalkStack的state模块(使用YAML格式)