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. 2017 Multi-University Training Contest - Team 6—HDU6098&&HDU6106&&HDU6103

    HDU6098 Inversion 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6098 题目意思:题目很短,给出一个数组,下标从1开始,现在输出一个 ...

  2. 2017 Multi-University Training Contest - Team 1—HDU6040

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6040 题意:不知道北航的同学为何解释题意之前都要想一段故事,导致刚开始题意不是很懂,题意就是给你n,m ...

  3. Centos locate 文件搜索命令(十一)

    locate命令 locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命令所搜索的后台数据库 updatedb 更新数据库 locate搜索 ...

  4. Android技巧小结之新旧版本Notification

    最近开发用到了通知功能,但有几个地方老是提示deprecated,然后就找了篇文章学习了下新旧版本的不同. Notification即通知,用于在通知栏显示提示信息. 在较新的版本中(API leve ...

  5. SpringBoot 之数据访问

    1. Spring Boot 与 JDBC 默认使用 org.apache.tomcat.jdbc.pool.DataSource 数据源; // application.yml spring: da ...

  6. Google发布机器学习术语表 (包括简体中文)

    Google 工程教育团队已经发布了多语种的 Google 机器学习术语表,该术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义.语言版本包括西班牙语,法语,韩语和简体中文. 查 ...

  7. ntopng基础

    当你在本地网络监控网络流量,根据流量大小.监控平台/接口.数据库类型等等,可以有许多不同的选择.ntopng是一套开源(遵循GPLv3协议)网络流量分析解决方案,提供基于web界面的实时网络流量监控. ...

  8. 如何使用 libtorch 实现 LeNet 网络?

    如何使用 libtorch 实现 LeNet 网络? LeNet 网络论文地址: http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

  9. Buy the souvenirs---hdu2126(01背包输出方案数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2126 有n个物品每个物品的价格是v[i],现在有m元钱问最多买多少种物品,并求出有多少种选择方法: 如 ...

  10. VS中的配置管理器

    一.    活动解决方案配置   有Debug和Release两个基本选项. Debug:称为 调试版本,它包含调试信息,且不做任何优化,便于程序员调试: Release:称为 发布版本,它往往是进行 ...