SaltStack之salt-master高可用
文章目录
- 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高可用相关推荐
- 【云原生】K8S master节点更换IP以及master高可用故障模拟测试
文章目录 一.前言 二.配置 多个master 节点 1)节点信息 1)安装docker或containerd 2)安装kubeadm,kubelet和kubectl 1.配置k8s yum源 2.修 ...
- 列式存储的分布式数据库——HBase Shell与SQL实战操作(HBase Master高可用实现)
文章目录 一.前言 二.命令行操作(hbase shell) 1)连接HBase 2)创建表(create) 3)添加数据(put) 4)查询数据(scan ) 5)获取单行数据(get) 6)禁用/ ...
- MySQL MHA: 一种master高可用的主从复制解决方案
2019独角兽企业重金招聘Python工程师标准>>> 大纲 前言 MHA的架构 环境部署 实验步骤 总结 前言 上篇文章我们实现了MySQL的主从复制, 但是我们之前就说过, 主从 ...
- K8S集群Master高可用实践
本文将在前文基础上介绍k8s集群的高可用实践,一般来讲,k8s集群高可用主要包含以下几个内容: 1.etcd集群高可用 2.集群dns服务高可用 3.kube-apiserver.kube-contr ...
- kubeadm安装kubernetes 1.13.2多master高可用集群
1. 简介 Kubernetes v1.13版本发布后,kubeadm才正式进入GA,可以生产使用,用kubeadm部署kubernetes集群也是以后的发展趋势.目前Kubernetes的对应镜像仓 ...
- mysql命令大全_Keeplived+mysql双master高可用如何实现?
作者:墨篱弦 简易拓扑 https://oscimg.oschina.net/oscnet/up-18b70e55451e4e69d0f449e6329034bdcfa.png 实验环境 Mysql4 ...
- kubeadm配置k8s-1.13高可用集群(master高可用haproxykeepalive)+kubernetes-dashboard+监控prometheusgrafana
参考:https://blog.csdn.net/chenleiking/article/details/84841394 本文使用六台虚拟机,配置含有三个master的k8s集群并实现master之 ...
- 二进制搭建kubernetes多master集群【三、配置k8s master及高可用】
前面两篇文章已经配置好了etcd和flannel的网络,现在开始配置k8s master集群. etcd集群配置参考:二进制搭建kubernetes多master集群[一.使用TLS证书搭建etcd集 ...
- Kubernetes 集群部署 之 多Master节点 实现高可用
目录 前言 一.K8s Master 高可用架构 二.在单Master节点基础上搭建 多Master集群架构 2.1 环境准备 与 搭建步骤 2.2 首先部署 Master02 节点 2.2.1 从 ...
最新文章
- 项目松弛时期 团队如何休养生息?
- 深度估计相关原理(计算机视觉和深度学习基础)
- C#中的OOP相关概念
- 归并排序之——二路归并(c/c++)
- 如何在圆柱表面滚花纹_更多地了解圆柱形铣刀
- ThreadLocal类与Synchonized对象锁的区别
- 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法
- python读取图像并相加_python给图像加上mask,并提取mask区域实例
- AI 秒杀人类!OpenAI 击败 DOTA2 世界冠军 OG
- python常见错误解决路线图
- 我应该如何验证电子邮件地址?
- 如何在电脑上删除磁盘碎片
- VALSE学习(十九):VALSE2018-历届资源汇总
- zw版【转发·台湾nvp系列Delphi例程】.NET调用HALCON COM控件内存释放模式
- keil c语言怎么写程序,用keil软件如何编写单片机程序?
- 「需求广场」需求词更新明细(四)
- 音视频基础 、IPB帧及其特点
- android竖屏固定,安卓教程:设置竖屏固定壁纸
- AndroBench手机性能测试【转】
- 地图的经纬度数据下载