文章目录

  • 1. 概述
  • 2. 数据同步
  • 3. 配置salt-master高可用

1. 概述


官方文档—salt的高可用

我们需要用salt来管理公司的所有机器,那么salt的master就不能宕机,否则就会整个瘫痪,所以必须要对salt进行高可用。

通过在 minion 端的配置文件 minion 中将 master 参数配置为所有可用主服务器的YAML列表,Salt minions可以同时连接多个主服务器。默认情况下,所有master都是启动的,这意味着任何主服务器都可以将命令指向Salt基础设施

在多主机配置中,每个 master 主机必须具有相同的加密密钥,并且必须分别接受所有 master 主机上的小密钥。file_root 和 pillar_root 的内容也需要与Salt之外的进程保持同步

多master故障转移:

master_type参数从str更改为failover将导致 minion 连接到 master 列表中第一个响应的 master 服务器。

每隔master_alive_interval参数指定的秒数 minion 将检查,以确保当前的 master 仍在响应。如果 master 服务器没有响应,minion 将尝试连接到列表中的下一个 master 服务器。如果 minion 的 master 用完了,当挂掉的 master 被恢复时,列表将被回收。注意,master_alive_interval参数必须出现在 minion 配置中,否则检查主从状态的循环作业将不会被调度。

2. 数据同步


配置高可用时,我们必须保证master上的数据一致,包括:

  • /etc/salt/master配置文件
  • /etc/salt/pki目录下的所有key
  • /srv/下的salt和pillar目录下的所有文件

数据同步有以下方案:

  • nfs挂载
  • rsync同步
  • 使用gitlab进行版本控制

为保证数据的同步与防止丢失,可将状态文件通过gitlab进行版本控制管理。

3. 配置salt-master高可用


环境:

角色 主机名 IP
master node01 172.16.78.125
master node02 172.16.78.128
minion node03 172.16.78.129

1. 修改minion端的minion配置文件

node01和node02上必须都安装了salt-master且保证服务都是正常状态

[root@node03 ~]# vim /etc/salt/minion
master:- 172.16.78.125- 172.16.78.128

2. 同步配置和数据

[root@node01 ~]# scp /etc/salt/master 172.16.78.128:/etc/salt/master
[root@node01 ~]# scp -r /etc/salt/pki 172.16.78.128:/etc/salt/
[root@node01 ~]# scp -r /srv/salt 172.16.78.128:/srv/

3. 这个时候两台master都是能够控制minion的

[root@node01 ~]# salt '*' test.ping
node03:True
[root@node02 ~]# salt '*' test.ping
node03:True

4. 配置故障转移

[root@node03 ~]# vim /etc/salt/minion
...
# beacons) without a master connection
master_type: failover
...
# of TCP connections, such as load balancers.)
master_alive_interval: 5    //当node01挂掉后,minion在5秒后自动切换master为node02
[root@node03 ~]# systemctl restart salt-minion

5. 再次测试master是否能够控制minion

[root@node01 ~]#  salt '*' test.ping
node03:True
[root@node02 ~]# salt '*' test.ping
node03:Minion did not return. [No response]
ERROR: Minions returned with non-zero exit code

6. 停止node01上的服务,模拟宕机

[root@node01 ~]# systemctl stop salt-master
[root@node02 ~]# salt '*' test.ping
node03:True
//node01挂掉后,node02就能够控制minion了

SaltStack之salt-master高可用相关推荐

  1. 【云原生】K8S master节点更换IP以及master高可用故障模拟测试

    文章目录 一.前言 二.配置 多个master 节点 1)节点信息 1)安装docker或containerd 2)安装kubeadm,kubelet和kubectl 1.配置k8s yum源 2.修 ...

  2. 列式存储的分布式数据库——HBase Shell与SQL实战操作(HBase Master高可用实现)

    文章目录 一.前言 二.命令行操作(hbase shell) 1)连接HBase 2)创建表(create) 3)添加数据(put) 4)查询数据(scan ) 5)获取单行数据(get) 6)禁用/ ...

  3. MySQL MHA: 一种master高可用的主从复制解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 大纲 前言 MHA的架构 环境部署 实验步骤 总结 前言 上篇文章我们实现了MySQL的主从复制, 但是我们之前就说过, 主从 ...

  4. K8S集群Master高可用实践

    本文将在前文基础上介绍k8s集群的高可用实践,一般来讲,k8s集群高可用主要包含以下几个内容: 1.etcd集群高可用 2.集群dns服务高可用 3.kube-apiserver.kube-contr ...

  5. kubeadm安装kubernetes 1.13.2多master高可用集群

    1. 简介 Kubernetes v1.13版本发布后,kubeadm才正式进入GA,可以生产使用,用kubeadm部署kubernetes集群也是以后的发展趋势.目前Kubernetes的对应镜像仓 ...

  6. mysql命令大全_Keeplived+mysql双master高可用如何实现?

    作者:墨篱弦 简易拓扑 https://oscimg.oschina.net/oscnet/up-18b70e55451e4e69d0f449e6329034bdcfa.png 实验环境 Mysql4 ...

  7. kubeadm配置k8s-1.13高可用集群(master高可用haproxykeepalive)+kubernetes-dashboard+监控prometheusgrafana

    参考:https://blog.csdn.net/chenleiking/article/details/84841394 本文使用六台虚拟机,配置含有三个master的k8s集群并实现master之 ...

  8. 二进制搭建kubernetes多master集群【三、配置k8s master及高可用】

    前面两篇文章已经配置好了etcd和flannel的网络,现在开始配置k8s master集群. etcd集群配置参考:二进制搭建kubernetes多master集群[一.使用TLS证书搭建etcd集 ...

  9. Kubernetes 集群部署 之 多Master节点 实现高可用

    目录 前言 一.K8s Master 高可用架构 二.在单Master节点基础上搭建 多Master集群架构 2.1 环境准备 与 搭建步骤 2.2 首先部署 Master02 节点 2.2.1 从 ...

最新文章

  1. 项目松弛时期 团队如何休养生息?
  2. 深度估计相关原理(计算机视觉和深度学习基础)
  3. C#中的OOP相关概念
  4. 归并排序之——二路归并(c/c++)
  5. 如何在圆柱表面滚花纹_更多地了解圆柱形铣刀
  6. ThreadLocal类与Synchonized对象锁的区别
  7. 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法
  8. python读取图像并相加_python给图像加上mask,并提取mask区域实例
  9. AI 秒杀人类!OpenAI 击败 DOTA2 世界冠军 OG
  10. python常见错误解决路线图
  11. 我应该如何验证电子邮件地址?
  12. 如何在电脑上删除磁盘碎片
  13. VALSE学习(十九):VALSE2018-历届资源汇总
  14. zw版【转发·台湾nvp系列Delphi例程】.NET调用HALCON COM控件内存释放模式
  15. keil c语言怎么写程序,用keil软件如何编写单片机程序?
  16. 「需求广场」需求词更新明细(四)
  17. 音视频基础 、IPB帧及其特点
  18. android竖屏固定,安卓教程:设置竖屏固定壁纸
  19. AndroBench手机性能测试【转】
  20. 地图的经纬度数据下载

热门文章

  1. 【数据库】SQL Server 数据库、附加数据库时出错。有关详细信息,请单击“消息”列中的超链接
  2. 陈一舟:模仿秀易融资 千橡扩张有风险
  3. crypto php,php 模拟Crypto-JS加密解密
  4. Android MVVM实现
  5. Jhost免费jsp服务器发布项目简析
  6. 特征选择方法:卡方检验和信息增益
  7. 写报告数据找不到?看完这篇就再也不用怕找不到数据了
  8. 抖音中怎样一键复制微信号并打开微信
  9. 北京,总冠军,总冠军,总冠军!
  10. 量化投资——IC、IR、RankIC