1. 主机规划

salt 版本

 [root@salt100 ~]# salt --version
salt 2018.3. (Oxygen)
[root@salt100 ~]# salt-minion --version
salt-minion 2018.3. (Oxygen)

salt syndic文档

https://docs.saltstack.com/en/latest/topics/topology/syndic.html

salt-syndic文档

https://docs.saltstack.com/en/latest/ref/cli/salt-syndic.html

2. salt-syndic案例架构

说明:

Syndic 节点可以看作是一个特殊的直通minion节点。Syndic 节点由salt-syndicsalt-master组成。其中salt-master用于控制更低级的minion节点,salt-syndic用于连接更高级的master节点(有时也称为mastermaster)。

重点:

Syndic的file_roots和pillar_roots必须与高级master保持一致

缺点:

高级Master并不知道自己到底有多少个minion。

3. 结构图下部分实现

3.1. 部署salt-master

在salt02、salt03部署salt-master

yum install -y salt-master    

说明:salt100和salt01之前已经部署了salt-master

3.2. 其他配置与部署

具体实现可参见:《Saltstack_使用指南01_部署》和《Saltstack_使用指南15_多master

按照步骤走即可实现

4. Syndic实现步骤

4.1. 部署salt-syndic

在salt01、salt02、salt03部署salt-syndic

yum install -y salt-syndic

4.2. syndic配置修改

在salt01、salt02、salt03上修改

 [root@salt01 ~]# vim /etc/salt/master
…………
# If this master will be running a salt syndic daemon, syndic_master tells
# this master where to receive commands from.
#syndic_master: masterofmasters
syndic_master: salt100 # salt100 是master of master
…………

在salt100上修改

 [root@salt100 ~]# vim /etc/salt/master
………………
# Set the order_masters setting to True if this master will command lower
# masters' syndic interfaces.
#order_masters: False
order_masters: True # 修改处
………………

注意:

每个Syndic必须提供自己的file_roots目录。文件不会自动从Master node传输。

4.3. 启动salt-syndic并加入开机自启动

 systemctl start salt-syndic.service
systemctl enable salt-syndic.service

4.4. master of master接受syndic

 [root@salt100 ~]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
salt01
salt02
salt03
Proceed? [n/Y] y
Key for minion salt01 accepted.
Key for minion salt02 accepted.
Key for minion salt03 accepted.

4.5. syndic秘钥认证位置

 [root@salt01 minion]# pwd
/etc/salt/pki/minion
[root@salt01 minion]# ll
total
-rw-r--r-- root root Dec : minion_master.pub
-r-------- root root Nov : minion.pem
-rw-r--r-- root root Nov : minion.pub
-rw-r--r-- root root Feb : syndic_master.pub # syndic 秘钥认证位置

4.6. 测试验证

 [root@salt100 ~]# salt '*' test.ping
salt02:
True
salt03:
True
salt01:
True
salt100:
True

5. syndic操作示例

 salt '*' pillar.items
salt '*' pillar.item level1:level2:my_user:
salt '*' grains.item roles

———————————————END———————————————

Saltstack_使用指南16_syndic的更多相关文章

  1. Saltstack_实战指南02_各主机Pillar信息指定

    1. 实战项目GitHub地址 该项目已经放在了GitHub上,地址如下: https://github.com/zhanglianghhh/salt-example-lnmp 2. 主机规划 3. ...

  2. Saltstack_实战指南01_系统规划

    1. 实战项目GitHub地址 之前<Saltstack_使用指南>详细讲解了saltstack的使用.那么从这节开始实战讲解,当然不会再像之前那样详细说明了.只是讲一些系统规划之类的信息 ...

  3. Saltstack_使用指南17_salt-ssh

    1. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --versi ...

  4. Saltstack_使用指南12_配置管理-jinja模板

    1. 说明 下文的案例是根据上一篇文章进行的修改.因此请优先读取上一章博文内容<Saltstack_使用指南11_配置管理-状态之间依赖关系> 2. 主机规划 salt 版本 [root@ ...

  5. Saltstack_使用指南07_远程执行-执行模块

    1. 主机规划 远程执行教程文档 https://docs.saltstack.com/en/latest/topics/tutorials/modules.html 所有模块文档 https://d ...

  6. Saltstack_使用指南06_远程执行-指定目标

    1. 主机规划 Targeting Minions文档 https://docs.saltstack.com/en/latest/contents.html 另请参见:自动化运维神器之saltstac ...

  7. Saltstack_使用指南05_数据系统-Pillar

    1. 主机规划 Pillar文档 https://docs.saltstack.com/en/latest/topics/pillar/index.html 注意事项 修改了master或者minio ...

  8. Saltstack_使用指南04_数据系统-Grains

    1. 主机规划 Grains文档 https://docs.saltstack.com/en/latest/topics/grains/index.html 注意事项 修改了master或者minio ...

  9. Saltstack_使用指南03_配置管理

    1. 主机规划 注意事项 修改了master或者minion的配置文件,那么必须重启对应的服务. 2. 了解YAML 具体地址 https://docs.saltstack.com/en/latest ...

随机推荐

  1. mysql数据库排坑过程

    刚安装mysql后想通过navicat来连接mysql,发现报错 1251这个错误,不慌.这个很简单. 首先通过cmd进入mysql. 然后修改密码规则 ALTER USER 'root'@'loca ...

  2. 2019年Java面试题基础系列228道(2)

    21.描述一下 JVM 加载 class 文件的原理机制? JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的 Java 运行时系统组件,它 ...

  3. SpringCloud微服务实现生产者消费者+ribbon负载均衡

    一.生产者springcloud_eureka_provider (1)目录展示 (2)导入依赖 <dependency> <groupId>org.springframewo ...

  4. 【linux命令】软连接和硬链接的区别(ln命令)

    Linux 文件系统把硬盘分为三个部分:超级块.inode 列表.数据区 inode 指示:该文件的数据存放在数据区的哪些块内.因为这个“映射”关系不能变更,因此,inode 相当于代表着文件本身.( ...

  5. Consul初探-服务注册和发现

    前言 经过上一篇的学习,现在已经来到了服务注册发现环节:Consul 的核心功能就是服务注册和发现,Consul 客户端通过将自己注册到 Consul 服务器集群,然后等待调用方去发现服务,实现代理转 ...

  6. 大数据-hadoop-MapReduce计算流程

    MapReduce计算流程 1  首先是通过程序员所编写的MR程序通过命令行本地提交或者IDE远程提交 2 一个MR程序就是一个Job,Job信息会给Resourcemanger,向Resourcem ...

  7. OPENGL 坐标轴转换

    坐标轴 平移 旋转 缩放 重置坐标轴 矩阵操作 示例 1.坐标轴  OpenGL 使用的右手坐标系,从正面看原点,逆时针旋转被认为是正旋转. x轴:从左到右 y轴:从底部向上 z轴:从屏幕背向朝向前方 ...

  8. linux安装数据时报错Could not execute auto check for display colors using command /usr/bin/xdpyinfo.

    在redhat6.5上安装Oracle时,最后使用oracle用户执行runInstaller 报错如下,无法连接到安装有xmanager的windows服务器,也就无法图形化安装oracle ora ...

  9. C语言 复习函数

    什么是函数呢? 首先函数是在完成特定任务的程序代码中,拥有自己独立的单元. 举个例子 “你可以拿本书吗?” ”你可以拿本语文书吗?“ “你可以拿苹果吗?”..... 如果要是放到程序里面估计要重复很多 ...

  10. 如何通过 subprocess 持续获取输出内容

    在实际应用中会用到subprocess的Popen方法执行一些命令,而我们需要通过执行这个命令的来获取输出进行一些信息记录或者分析使用,如果是很快就可以执行完的那还好,有时需要持续跟踪内容的输出,比如 ...