multi-master官方介绍

As of Salt 0.16.0, the ability to connect minions to multiple masters has been made available. The multi-master system allows for redundancy of Salt masters and facilitates multiple points of communication out to minions. When using a multi-master setup, all masters are running hot, and any active master can be used to send commands out to the minions.

实验环境

node1  192.168.56.11   角色  salt-master salt-minon (环境前面的文章中已配置好)
node2 192.168.56.12 角色 salt-master salt-minon

说明因测试机器数量有限 ,2台服务器做Master也做Minion,当2个Master启动时候都要处于可用状态

步骤

一,在2个节点上面分别安装Master和Minion
[root@linux-node2 ~]# yum install salt-master salt-minion -y
二,在Minion配置文件中添加多master节点
[root@linux-node2 ~]# more /etc/salt/minion
...
# resolved, then the minion will fail to start.
master:
- 192.168.56.11
- 192.168.56.12
...
三,同步Master配置文件和状态文件
[root@linux-node1 srv]# scp /etc/salt/master 192.168.56.12:/etc/salt/
[root@linux-node1 srv]# scp -r /srv/salt/ 192.168.56.12:/srv/
四,同步Master秘钥对
[root@linux-node2 pki]# mkdir master -p && chmod  master/ #在node2节点上创建master文件并修改权限
[root@linux-node1 master]# scp /etc/salt/pki/master/master.pem master.pub 192.168.56.12:/etc/salt/pki/master/ #在node1上面scp
五,重启Master和Minion服务节点,生效Master和Minion配置文件
[root@linux-node2 pki]# systemctl restart salt-minion
六,在node2的master节点重新接受一下Minion认证
[root@linux-node2 master]# salt-key  #查看发送申请的minon id
Accepted Keys:
Denied Keys:
Unaccepted Keys:
linux-node1.example.com
linux-node2.example.com
Rejected Keys: [root@linux-node2 master]# salt-key -A #接受申请,下面输入Y
The following keys are going to be accepted:
Unaccepted Keys:
linux-node1.example.com
linux-node2.example.com
Proceed? [n/Y] Y
Key for minion linux-node1.example.com accepted.
Key for minion linux-node2.example.com accepted.
七,在2个Master节点执行命令都可以正常工作
[root@linux-node1 master]# salt '*' test.ping  #node1 Master节点
linux-node1.example.com:
True
linux-node2.example.com:
True [root@linux-node2 master]# salt '*' test.ping #node2 Master节点
linux-node2.example.com:
True
linux-node1.example.com:
True

总结

1.Master配置文件要一样

2.Master file_root路径及状态文件要一样

3.Master 公钥和私钥要一样

4.修改Minion配置中指定Master为列表形式

5.Master接受的minion_id key要保持同步,增删保持一致

6.生产环境可以用nginx做多个master的api负载均衡

7.Master上的key要考虑安全性问题

8.生产环境的状态文件管理可以用git管理

9.还可以通过 failover配置多个multiple masters,相对复杂一些


附英文参考文档

https://www.unixhot.com/docs/saltstack/topics/tutorials/multimaster.html

SaltStack高可用multi-master-第十三篇的更多相关文章

  1. kubernetes高可用设计-master节点和kubectl

    部署master 节点 上一遍是CA证书和etcd的部署,这一篇继续搭建k8s,废话不多说.开始部署. kubernetes master 节点包含的组件有: kube-apiserver kube- ...

  2. 想要彻底搞懂大厂是如何实现Redis高可用的?看这篇文章就够了!(1.2W字,建议收藏)

    高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间. 假设系统一直能够提供服务,我们说系统的可用性是100%.如果 ...

  3. 3 saltstack高可用

    高可用 如果我们依赖于saltmaster管理服务器,那么就需要对saltmaster做好高可用.那么saltstack-master怎么做高可用呢? 可以参考官网1,官网2 机器配置: 我们有两台机 ...

  4. Redis(九)高可用专栏之《简介篇》

    在互联网的大趋势下,用户体验.服务的可用性日趋重要.任何一个服务的不可用,都可能导致连锁式功能故障. 前言 高可用模型的已经逐渐形成一种套路: 主备/主从模式 集群模式 主备/主从模式 至少有两台服务 ...

  5. 高可用Hadoop平台-答疑篇

    1.概述 这篇博客不涉及到具体的编码,只是解答最近一些朋友心中的疑惑.最近,一些朋友和网友纷纷私密我,我总结了一下,疑问大致包含以下几点: 我学 Hadoop 后能从事什么岗位? 在遇到问题,我该如何 ...

  6. centos7部署postgresql集群高可用 patroni + etcd 之patroni篇

    实验环境:centos7.4纯净版 postgres版本: 9.6.15 etcd版本:3.3.11 patroni版本:1.6.0 patroni介绍可参考:https://github.com/z ...

  7. 安装k8s,高可用3 master安装脚本

    每个在新集群里,记得更改三个节点的IP即可. 第一步还是要执行那个root脚本,准备好系统环境,安装好软件. 先安装在每个节点上使用docker安装好etcd.(sh script domain et ...

  8. Linux 高可用(HA)集群之keepalived详解

    http://freeloda.blog.51cto.com/2033581/1280962 大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用 ...

  9. RocketMQ源码 — 六、 RocketMQ高可用(1)

    高可用究竟指的是什么?请参考:关于高可用的系统 RocketMQ做了以下的事情来保证系统的高可用 多master部署,防止单点故障 消息冗余(主从结构),防止消息丢失 故障恢复(本篇暂不讨论) 那么问 ...

随机推荐

  1. POJ3660 传递闭包———floyd算法

    POJ3660 Cow Contest 题目链接:http://poj.org/problem?id=3660 题意:农名约翰有些奶牛,约翰通过让他们决斗来决定他们的排名,约翰让这些奶牛一对一打完一定 ...

  2. Android Activity 去掉标题栏及全屏显示

    默认生成的活动(Activity)界面中包含标题栏,并带有状态栏.有时不需要这两个控件. 1.去掉标题栏 (三种方法) a:在setContentView()方法前 添加:requestWindowF ...

  3. netty4.x 实现接收http请求及响应

    参考 netty4.x 实现接收http请求及响应 - En taro tassadar - CSDN博客 https://blog.csdn.net/sinat_39783636/article/d ...

  4. 唯品会的Service Mesh三年进化史 2018 年 Service Mesh 元年,被誉为是下一代微服务架构

    2018 年 Service Mesh 元年,被誉为是下一代微服务架构 https://www.sohu.com/a/225324586_465914 唯品会的Service Mesh三年进化史 - ...

  5. 算法大神之路——排序

    从今天开始,给自己立下一个目标,每天晚上写一篇算法与数据结构的博客,用来给自己以后的算法工程师的目标铺路! 今天晚上就以算法里面的排序,作为自己的第一章节吧. 排序,就是讲一组数据,按照特定的规则去调 ...

  6. 前端 html body 内标签之input

    可以做登录页面 text是文本输入框 <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  7. xiaochengxubeijingt

  8. excel判断单元格包含指定内容的函数用=IF(COUNTIF(A1,"*内容*"),"0","1")

    前面我们聊过怎样将Excel包含某字符的单元格填充颜色,这边我们用另外一种方法来实现:excel判断单元格包含指定内容的函数 选中需要显示结果的单元格,假设我们要判断第一行第一列的单元格A1是否含有“ ...

  9. 关于websocket通讯

    var ws = { init:function(callback){ var _this = this; _this.callback = callback; }, websocket:functi ...

  10. web.xml中配置spring配置(application.xml)文件

    application.xml 一般放到WEB-INF下,当然,你也可以将它放到任意问题,但需要web.xml指向到该文件 1.application.xml配置 <?xml version=& ...