SaltStack多级管理

基本原理
一个基本的salt配置方式是一个master指挥一群minion,为了不再有假设使用任何单一拓扑结构,考虑多种布局的情况下,主控master(top master)可以控制一群master,通过syndic将操作命令传输给受控master(syndic相当于是master的助手),受控master来完成对自己旗下minion的管理,并将结果传回主控master(top master), 从而实现了主控master对所有minion的间接管理。

数据走向
任务发放:

user------->top master------->syndic----->syndic-master--------->minion.

(1)用户将需求交给top master 完成;topmaster将任务下放给master助手syndic;
(2)由syndic将任务交给master,master和top master 之间通过syndic通信;
(3)master拿到任务后再将任务分配给相应的minion端,top master并不知道有多少minion;

执行反馈:

salt-minion-------->syndic-------->top master.

minion端在执行完任务后,直接通过syndic将执行反馈返回给top master 这一过程中并不经手master

注意要点
Syndic上得master配置文件里得file_roots,pillar_roots与主master一致
Syndic 必须运行在master上,并且连接到另一个master(比他更高级)
syndic有点类似于代理,本质上对与主master来说还是minion

实现方式

实验说明:

serveriprole
server1 172.25.3.1 top master
server2 172.25.3.2 master+syndic
server3 172.25.3.3 minion

 

server3:

minion的配置,指向的master是syndic代理的master

master: 172.25.3.2
id: 172.25.3.3

 

server2:

master+syndic的配置

yum install salt-master  salt-syndic -y

interface: 0.0.0.0
publish_port: 4505
user: root
ret_port: 4506
pki_dir: /etc/salt/pki/master
auto_accept: True
syndic_master: 172.25.3.1  # 指向顶级的master
syndic_master_port: 4506
syndic_pidfile: /var/run/salt-syndic.pid
syndic_log_file: /var/log/salt/syndic
log_level: info

 

server1:

# top mster配置
order_masters: True

 

对于顶级master来说,它只知道它的下面有几个syndic,并不知道syndic下面有多少minion

 

salt-api的配置

 

posted @ 2022-10-25 10:42  羊脂玉净瓶  阅读(47)  评论(0)    收藏  举报