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持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...
随机推荐
- (二)区块链的共识算法:PoS 及其 例子 代码 实现
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...
- 进程池的同步与异步用法Pool
进程池的同步,如下程序: from multiprocessing import Pool import time import os def func(n): print('start 进程 %s' ...
- C++常用的文件操作路径函数
shlwapi.dll中的实用API函数发布 在windows system目录下有这个动态链接库 BOOL PathFileExists(LPCTSTR lpszPath)功能:检查文件/路径 ...
- vue 项目总结
第一次参与设计前端项目 项目接近尾声,抽出时间写一下总结 项目用到技术 vue vue-cli (代理配置) element-ui axios router 技术应用思路 vue 组件封装---技术点 ...
- js运用5
js数据类型具体分析 1.基础类型:string number boolean null undefined 2.引用类型:object==> json array ...
- SpringMVC访问静态资源的三种方式
如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题.如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg ...
- Mybatis 使用了哪些设计模式?
https://mp.weixin.qq.com/s/ZTh4a-YST5RdIipHykWpPQ
- 学习 yjango 博士的学习方法后的总结
博士的初期内容主要是机器学习, 基于机器学习的理论来总结人类自身的学习过程和方式, 现总结博士视频中提到的主要方式 -. 学习的原则 例子重塑大脑 明确输入输出 用二阶知识拆分知识 二. 什么是学习 ...
- caffe报错:cudnn.hpp:86] Check failed: status == CUDNN_STATUS_SUCCESS (3 vs. 0) CUDNN_STATUS_BAD_PARAM 原因
在实际项目中出现的该问题,起初以为是cudnn版本的问题,后来才定位到在网络进行reshape操作的时候 input_layer->Reshape({(), input_layer->sh ...
- 执行git add .命令时报warning: LF will be replaced by CRLF in yarn.lock.
解决办法是执行:git config --global core.autocrlf false 是符号 / 转义的问题