salt syndic 概述

layout: post

title: “salt-syndic”

salt syndic 概述

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

注意事项:各个 syndic 必须提供自己的file_roots目录,文件不会在 master-master 之间自动分发!

软件包的安装

master端: salt-master 
syndic端: salt-master,salt-syndic
minion端:salt-minion

基本配置

  • salt-master 需要开启的基本配置,修改配置文件 /etc/salt/master
order_masters: True
  • salt-syndic 需要开启的基础配置,修改配置文件 /etc/salt/master
syndic_master: (指向主控 master 端的 ip或hostname)  

file_roots:
  base:
    - /srv/salt
  • salt-minion 需要开启的基础配置,修改配置文件 /etc/salt/minion
master: (指向主控 syndic端的 ip或hostname)

证书认证:

  • 所有的 syndic 和 主控 master 进行认证;
  • 所有的 minions 和对应的 syndic 进行认证;

基本测试

在 top master 与所有 minions 的进行连接测试:

salt \* test.ping

返回结果如下

salt-minion:                                         
    True                                                
salt-master:                                            
    True
salt-syndic:                                            
    True

由于文件不会在 master-master 之间自动分发,配置好各个 syndic 主机的file_roots 分发SLS资源文件后,(关于SLS资源文件的分发建议使用Git作为 fileserver_backend) 在 top master进行基本管理任务测试,

示例:

salt \* state.highstate test=True

返回结果如下

...
salt-minion:
    ----------
    pkg_|-nginx_|-nginx_|-installed:
        ----------
        __run_num__:
            2
        changes:
            ----------
        comment:
            Package nginx is already installed
        name:
            nginx
        result:
            True
salt-syndic:
    ----------
    pkg_|-nginx_|-nginx_|-installed:
        ----------
        __run_num__:
            2
        changes:
            ----------
        comment:
            Package nginx is already installed
        name:
            nginx
        result:
            True
salt-master:
    ----------
    pkg_|-nginx_|-nginx_|-installed:
        ----------
        __run_num__:
            2
        changes:
            ----------
        comment:
            Package nginx is already installed
        name:
            nginx
        result:
            True
...

参考文档

  • http://docs.saltstack.com/en/latest/topics/topology/syndic.html
  • http://docs.saltstack.com/en/latest/topics/tutorials/gitfs.html

你可能感兴趣的:(salt syndic 概述)