官方手册地址:http://docs.saltstack.com/topics/tutorials/multimaster.html

总结起来,有以下几步:

  1. Create a redundant master server(创建另一个salt master)
  2. Copy primary master key to redundant master(将主master的key复制到辅助master)
  3. Start redundant master(启动辅助master)
  4. Configure minions to connect to redundant master(配置minions使其链接到辅助master)
  5. Restart minions(重启minions)
  6. Accept keys on redundant master(在辅助master上接受minion的keys认证要求)

但是按照手册配置后,无法执行命令,看log报如下错误:

[ERROR ] The master key has changed, the salt master could have been subverted, verify salt master's public key
[CRITICAL] The Salt Master server's public key did not authenticate!
The master may need to be updated if it is a version of Salt lower than 0.16.4, or
If you are confident that you are connecting to a valid Salt Master, then remove the master public key and restart the Salt Minion.
The master public key can be found at:
/etc/salt/pki/minion/minion_master.pub

解决方法:

要将/etc/salt/pki/master/下的master.pem和master.pub一起拷贝到辅助服务器的相同目录下。

扩展:

1.salt key的认证过程

2.使用非root用户启动辅助salt master应该如何配置

关于扩展1的一点补充

刚刚安装好,启动salt-master,salt-minion会在/etc/salt/pki/master/ & /etc/salt/pki/minion/目录下分别生成master.pem,master.pub & minion.pem, minion.pub key文件

root@aka-ostro:/etc/salt# tree
.
├── master
├── master.d
├── minion
├── minion.d
├── minion_id
└── pki
        ├── master
        │   ├── master.pem
        │   ├── master.pub
        │   ├── minions
        │   ├── minions_pre
        │   │   └── aka-ostro.example.com
        │   └── minions_rejected
        └── minion
             ├── minion.pem
             └── minion.pub

8 directories, 9 files

使用salt-key -L查看没有发送key认证的minion ,使用salt-key -A 认证所有的key

认证后实际就是将master.pub 送到minion,并且重命名为:minion_master.pub

将minion.pub文件送到master的minions目录下,重命名为该minion的主机名

root@aka-ostro:/etc/salt# tree
.
├── master
├── master.d
├── minion
├── minion.d
├── minion.dpkg-old
├── minion_id
└── pki
       ├── master
  │   ├── master.pem
  │   ├── master.pub
  │   ├── minions
  │   │   └── aka-ostro.example.com
  │   ├── minions_pre
  │   └── minions_rejected
  └── minion
  ├── minion_master.pub
  ├── minion.pem
  └── minion.pub

其中aka-ostro.example.com 和 minion.pub的文件内容完全一致, master.pub和minion.pub的文件内容完全一致,即验证!

saltstack:multi-master configuration的更多相关文章

  1. SaltStack之Master配置文件详解

    salt-master的配置文件位于/etc/salt/master,可用选项如下: #######################主配置 interface默认值:0.0.0.0(所有的网络地址接口 ...

  2. 17.1.1.1 Setting the Replication Master Configuration 设置复制的master 配置:

    17.1.1.1 Setting the Replication Master Configuration 设置复制的master 配置: 在一个复制master,你必须启用binary loggin ...

  3. saltstack(master迁移)

    环境:http://www.cnblogs.com/zzzhfo/p/6126223.html 在添加一台master 把master的/etc/salt目录下的pki打包 上传至第二台master的 ...

  4. saltstack(二) master、minion常用配置选项

    master常用配置选项: interface: 指定bind的地址(默认0.) publish_port:指定发布端口(默认4505) ret_port: 指定结果返回端口,与minion配置文件的 ...

  5. Does not contain a valid host:port authority: Master:8031 (configuration property 'yarn.resourcemanager.resource-tracker.address')

    问题解决: 这个错误是:yarn里面的配置的格式有错误:如: <property> <name>yarn.resourcemanager.address</name> ...

  6. slatstack Master的配置

    Salt系统非常简单并且易于配置,Salt系统的两个组件都有各自的配置文件.如"salt-master"是通过主配置文件来配置的,"salt-minion"是通 ...

  7. saltstack手册(含官方pdf)

    官方手册 https://docs.saltstack.com/en/pdf/Salt-2019.2.1.pdf 快速入门 SALTSTACK是什么? Salt是一种和以往不同的基础设施管理方法,它是 ...

  8. Saltstack

    一.Satlstack的概述 Saltstack是什么? Salt是一种和以往不同的基础设施管理方法,它是建立在大规模系统高速通讯能力可以大幅提升的想法上.这种方法使得Salt成为一个强大的能够解决基 ...

  9. saltstack实战3--配置管理之pillar

    数据系统-Pillar pillar和grains类似,但是它能给minion指定它想要的数据,安全性较好,另外它是在master端设置的   应用场景: grains的特性–每次启动汇报.静态决定了 ...

  10. MySQL Master High Available 源码篇

    https://m.aliyun.com/yunqi/users/1287368569594542/articles https://yq.aliyun.com/articles/59233 MySQ ...

随机推荐

  1. jquery取radio单选按钮

    // var strMess = '<%=Exchange() %>';//            if (strMess == "兑换成功") {//         ...

  2. StreamSets小白踩过的一些坑

    由于公司业务上的需求,需要实时监控mysql数据库的数据的增长,并将数据同步到另一个平台,所以就问老大使用什么工具比较好,老大推荐使用StreamSets,还说在测试环境都已经部署好了StreamSe ...

  3. Java学习个人备忘录之继承

    继承的好处1. 提高了代码的复用性.2. 让类与类之间产生了关系,给第三个特征多态提供了前提. java中支持单继承,不直接支持多继承,但对C++中的多继承机制进行改良.java支持多层继承. C继承 ...

  4. c++ 反射类型

    来自: 实现代码=== // // Created by lizhen on 2017/9/29. // #ifndef BOOST_ALL_CALLBACKFUNCTION_H #define BO ...

  5. 【Redis】- 延时任务

    引言 在开发中,往往会遇到一些关于延时任务的需求.例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务.那么这里就会产生一 ...

  6. Sass的命令编译

    [Sass]命令编译 命令编译是指使用你电脑中的命令终端,通过输入 Sass 指令来编译 Sass.这种编译方式是最直接也是最简单的一种方式.因为只需要在你的命令终端输入: 单文件编译: sass & ...

  7. 扩展SplitContainer控件

    效果图: 自定义控件实现代码: using System; using System.ComponentModel; using System.Drawing; using System.Window ...

  8. Oracle 11g 体系结构--数据字典

    DD:存放数据库内部信息的地方,用于描述数据库内部的运行和管理情况. Oracle数据字典的名称由前缀和后缀组成,使用_连接,含义说明如下: dba_:包含数据库实例的所有对象信息 v$_:当前实例的 ...

  9. RPC-原理及RPC实例分析

    还有就是:RPC支持的BIO,NIO的理解 (1)BIO: Blocking IO;同步阻塞: (2)NIO:Non-Blocking IO, 同步非阻塞; 参考:IO多路复用,同步,异步,阻塞和非阻 ...

  10. [Leetcode] 3.Longest Substring Without Repeating Characters(unordered_map)

    通过把未访问的结点放到unordered_map中来判断是否重复,代码如下: class Solution { public: int lengthOfLongestSubstring(string ...