Docker Swarm 高可用详解
Docker Swarm 高可用详解
Manager管理节点宕机后其他管理节点仍然可以使用管理
intermal distributed state store:内部分布式状态存储同步共享到每个节点。
Manager:多个Manager已Raft来通过机制的选举,进行高可用。
raft:通常通过投票的方式进行选举,一般是奇数制的节点。
worker:容器工作节点。
Manager节点任务
1. 维护集群状态
2. 调度服务
3. 提供swarm模式的HTTP API

为了利用swarm模式的容错功能,应保持集群中奇数管理员来支持manager节点故障。当leader故障时,会选举新的leader。

故障恢复:
如果swarm失去法定人数,swarm不能自动恢复,工作节点上的任务继续运行,不受影响,但无法执行管理任务,包括扩展或更新服务,加入或删除节点。恢复的最佳方式是将丢失的leader节点重新联机。如果不可能,唯一方法是使用—force-newcluster管理节点的操作,这将去除本机之外的所有管理器身份。
docker swarm init --force-new-cluster --advertise-addr 192.168.1.79:2377
1、管理节点:赋值其他工作节点为管理节点
docker node promote 工作节点主机名1
docker node promote 工作节点主机名2
命令:docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
bmlecoeitwsbf1r6skpmiq6m5 slave01 Ready Active Reachable
kqkwgx5d87nt2mo42263r0dkj slave02 Ready Active Reachable
mcoe3f7kit5o60gp7v2f6wjc9 * management Ready Drain Leader
查看节点状态
注:Reachable 是工作节点晋升的备用管理节点。
2、管理节点:测试 关闭docker
systemctl stop docker
3、备用管理节点1:测试高可用故障跳转
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
bmlecoeitwsbf1r6skpmiq6m5 * slave01 Ready Active Leader
kqkwgx5d87nt2mo42263r0dkj slave02 Ready Active Reachable
mcoe3f7kit5o60gp7v2f6wjc9 management Down Drain Unreachable
注:当主管理节点down时,swarm通过raft选举,自动跳转到备用管理节点1中。
注:Leader为管理主机。
Docker Swarm 高可用详解的更多相关文章
- Docker Swarm 负载均衡详解 or 模式选择
Docker Swarm 负载均衡详解 Swarm模式内置DNS组件,可以自动为集群中的每个服务分配DNS记录. Swarm manager使用内部负载均衡,根据服务的DNS名称在集群内的服务之间分发 ...
- 【OpenStack】OpenStack系列15之OpenStack高可用详解
高可用 概念 级别 陈本 如何实现 分类 Openstack的HA 虚拟机的HA 虚拟机HA 比较 应用级别HA,Heat的HA模板 组件的HA 示意图 Mysql的HA 三种方式之一——主从同步 ...
- Redis高可用详解:持久化技术及方案选择
文章摘自:https://www.cnblogs.com/kismetv/p/9137897.html 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关 ...
- Redis高可用详解:持久化技术及方案选择 (推荐)--转载自编程迷思博客www.cnblogs.com/kismetv/p/8654978.html
一.Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义. 我们知道,在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常 ...
- Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. ...
- Docker:网络模式详解
Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络 ...
- Docker基础 :网络配置详解
本篇文章将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信,有兴趣的可以了解下. 大量的互联网应用服务包含多个 ...
- Docker Kubernetes 高可用架构设计
Docker Kubernetes 高可用架构设计 官方方案:保证master端不发生单点故障. 官方使用一台Load Balancer负载均衡代理3台master端,终端与etcd与work Nod ...
- 最佳实战Docker持续集成图文详解
最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...
随机推荐
- 转载:sigmoid和softmax总结
转自:http://blog.csdn.net/u014422406/article/details/52805924 sigmoid函数(也叫逻辑斯谛函数): 引用wiki百科的定义: A logi ...
- 前端编程tips
1.ts less 网上搜视频教程,不用太复杂的,短短几分钟视频基本就对其入门了,比自己搜官网学习更方便. 常用的ts技术:let name:string=""; let obj ...
- ubuntu14.04 terminator字体挤在一起问题
字体挤在一起:在ubuntu下请选择mono后缀的字体就可以了 右键—>首选项—>profile—>general—>字体设置成ubuntu mono 或Free mono
- Nestjs 接口验证
class-validator Nestjs yarn add class-transformer class-validator main.ts import { NestFactory } fro ...
- vue 中的数据绑定
vue当中有个v-model, 是怎么实现的呢?其实是利用了$event. <div id="app"> <!-- 输入什么,就输出什么 --> <i ...
- Linux 下挂载新硬盘方法
Linux的硬盘识别: 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息. 1.关闭服务器加上新硬盘 2.启动服务器,以r ...
- div加链接 html给div加超链接实现点击div跳转的方法[申明:来源于网络]
div加链接 html给div加超链接实现点击div跳转的方法[申明:来源于网络] 地址:http://www.cdxwcx.com/faq/htmldivLink.html
- tomcat配置内存
windows: Create a new script named as setenv.bat under TOMCAT_HOME/bin folder holding the following ...
- vue axios拦截器 + 自编写插件 实现全局 loading 效果;
项目需求:用自定义的 .gif 图标实现全局 loading 效果:为避免在每个页面手动添加,且简单高效的实现,经查阅资料,最终采用了 vue axios拦截器 + 自编写 loading 插件:下面 ...
- 14.0-uC/OS-III挂起队列
1.当任务等待信号量. mutex.事件标志组.消息队列时,该任务会被放入挂起队列. 挂起队列是一个OS_PEND_LIST类型的数据结构,它包含了三部分内容. .NbrEntries 挂起队列中有几 ...