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
实现方式
实验说明:
| server | ip | role |
|---|---|---|
| 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的配置

浙公网安备 33010602011771号