本片关于使用docker swarm 集群心得,也是一些经验吧!过程描述可能简单!

根据一些公司使用经历接收一下问题并针对问题作出应对策略

1、docker swarm集群 主节点数必须是单数,也就是说主节点数控制一般是1、3、5、7.......

为什么是单数,大家可能都知道很多集群都是这样设置主节点的 像zab paxos raft等分布式一致性协议都是以多数节点存活作为可用部分,

docker swarm 集群内部选主机制是raft(https://raft.github.io/)协议实现的,虽然这个协议可以在任意节点数据量的时候有主节点存在并正常运行,但是会出现如下情况

加入有5个节点,连续三个主节点down掉了这个时候就剩下两个从节点这个时候谁也不能达到半数以上的选票导致集群暂停等待有新的节点加入。

2、docker swarm 所有主机尽量配置相同

为什么说要配置尽量相同,虽然docker会根据俄cpu和内存做一些简单的容器编排平衡,如果存在配置资源有的高有的低的情况,配置资源高的宿主机运行的容器就会较多,如果这个机器重启或者宕机这个时候容器会漂移到兄弟节点。兄弟节点配置比较低就会压垮配置低的节点。

3、docker swarm 所有主机尽量都在一个网段,如果不在一个网段多个网段宿主机尽量均等,保证一定比例的冗余资源

为什么说尽量在一个网段那,因为网段之间加入有问题了很可能会将集群分成两半,同样很容易导致上面第一点的问题,

所以说如果集群时跨网段的尽量将raft协议节点分布在合适的网段(“合适”根据业务情况定)

4、docker swarm 集群所有使用资源必须要一定的冗余数量,冗余数量的多少以可宕机宿主机数量百分比来定

回到上面第2点内容的回答,我们集群资源一定要有冗余,因为docker swarm容器会漂移到正常的节点,所以为了不让节点因为资源压垮要有一定的冗余,docker swarm目前好像没有根据资源降级的特性。

5、宿主机操作系统一定要用对

根据个大社区的建议 使用ubuntu,原因有一下几点:

第一、内核更新快,更适应docker的快速迭代,很多linux功能支持也很新。

第二、根据经验ubuntu使用出现莫名其妙问题最少社区强大

如果使用其他linux操作系统尽量使用最新稳定版内核

6、尽量再生产环境使用物理机作为宿主机

使用docker swarm集群心得的更多相关文章

  1. 通过docker-machine和etcd部署docker swarm集群

    本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...

  2. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

  3. 从零开始搭建Docker Swarm集群

    从零开始搭建Docker Swarm集群 检查节点Docker配置 1. 打开Docker配置文件(示例是centos 7)vim /etc/sysconfig/docker2. 添加-H tcp:/ ...

  4. docker + swarm 集群

    docker + swarm 集群 导读 Swarm是Docker公司在2014年12月初新发布的容器管理工具.和Swarm一起发布的Docker管理工具还有Machine以及Compose.Swar ...

  5. Docker Swarm集群

    Docker Swarm集群 IP 10.6.17.11  管理节点 IP 10.6.17.12   节点A IP 10.6.17.13   节点B IP 10.6.17.14   节点C 安装 Sw ...

  6. 故障公告:docker swarm集群“群龙无首”引发部分站点无法访问

    今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成博问.闪存.园子. ...

  7. 云计算之路-阿里云上-容器难容:自建docker swarm集群遭遇无法解决的问题

    我们从今年6月开始在生产环境进行 docker 容器化部署,将已经迁移至 ASP.NET Core 的站点部署到 docker swarm 集群上.开始我们选用的阿里云容器服务,但是在使用过程中我们遭 ...

  8. 云计算之路-阿里云上:docker swarm 集群故障与异常

    在上次遭遇 docker swarm 集群故障后,我们将 docker 由 17.10.0-ce 升级为最新稳定版 docker 17.12.0-ce . 前天晚上22:00之后集群中的2个节点突然出 ...

  9. 云计算之路-阿里云上:节点 CPU 波动引发 docker swarm 集群故障

    非常抱歉,今天 10:05-10:20 左右,我们用阿里云服务器搭建的 docker swarm 集群又出现故障,又是因为突然的节点 CPU 波动. 受这次故障影响的站点有 闪存,博问,班级,园子,短 ...

随机推荐

  1. asp.net core系列 37 WebAPI 使用OpenAPI (swagger)中间件

    一.概述 在使用Web API时,对于开发人员来说,了解其各种方法可能是一项挑战.在ASP.NET Core上,Web api 辅助工具介绍二个中间件,包括:Swashbuckle和NSwag .NE ...

  2. VueJs 源码分析 ---(二)实力化生命周期,以及解析模版和监听数据变化

    Vue 源码第二步 当前 Vue 的版本 V2.2.2 生命周期 相关介绍 我们可以从 setp1 中 去看到那张 vue 的生命周期图中看到,vue 的生命周期钩子. 具体的钩子时干什么的? 以及在 ...

  3. SpringBoot入门教程(十六)@Autowired、@Inject、@Resource

    @Resource,@Autowired,@Inject 这3种都是用来注入bean的,它们属于不同的程序中.详情参见下表: v区别 ANNOTATION PACKAGE SOURCE 作用域 实现方 ...

  4. 淘宝npm镜像使用方法(转)

    1.临时使用 npm --registry https://registry.npm.taobao.org install express 2.持久使用 npm config set registry ...

  5. Docker系列04—Docker的网络模式详解

    本文收录在容器技术学习系列文章总目录 1.Docker的四种网络模式 (1)docker四种网络模式如下: Bridge contauner   桥接式网络模式 Host(open) containe ...

  6. [十一]基础数据类型之Character

    Character与Unicode Character 基本数据类型char  的包装类 Character 类型的对象包含一个 char 类型的字段   该类提供了几种方法来确定字符的类别(小写字母 ...

  7. Spring Boot 2.x (十二):Swagger2的正确玩儿法

    Swagger2简介 简单的来说,Swagger2的诞生就是为了解决前后端开发人员进行交流的时候API文档难以维护的痛点,它可以和我们的Java程序完美的结合在一起,并且可以与我们的另一开发利器Spr ...

  8. 第31章 日志 - Identity Server 4 中文文档(v1.0.0)

    IdentityServer使用ASP.NET Core提供的标准日志记录工具.Microsoft文档有一个很好的介绍和内置日志记录提供程序的描述. 我们大致遵循Microsoft使用日志级别的指导原 ...

  9. 第24章 退出 - Identity Server 4 中文文档(v1.0.0)

    注销IdentityServer就像删除身份验证cookie一样简单,但是为了完成联合注销,我们必须考虑将用户从客户端应用程序(甚至可能是上游身份提供者)中签名. 24.1 删除认证 要删除身份验证c ...

  10. App阅读pdf和扫描二维码功能

    在之前开发的Android手机App中,需要实现阅读pdf和扫描二维码的功能,在github 上找到大牛封装好包,亲测可用. 阅读pdf: https://github.com/barteksc/An ...