本片关于使用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. 7.Django CSRF 中间件

    CSRF 1.概述 CSRF(Cross Site Request Forgery)跨站点伪造请求,举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果某个用户已经登录到你的网站上了,那么当这个用 ...

  2. 9.Flask Cookie和Session

    1.1.概念 cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...

  3. Redis的应用场景

    最近做了个小项目是WebForm 做着做着发现前台的首页读取速度很慢,并且多个用户同时访问我的Sqlserver承受不住!之后就想到了Redis 代码如下: /// <summary> / ...

  4. IdentityServer4实战 - 谈谈 JWT 的安全策略

    一.前言 众所周知,IdentityServer4 默认支持两种类型的 Token,一种是 Reference Token,一种是 JWT Token .前者的特点是 Token 的有效与否是由 To ...

  5. SpringCloud Config客户端

     SpringCloud Config服务端 1.导入依赖 <dependency> <groupId>org.springframework.cloud</groupI ...

  6. [十二]JavaIO之BufferedInputStream BufferedOutputStream

    功能简介 BufferedInputStream 和 BufferedOutputStream一样,他们都是过滤流 装饰器模式下具体的装饰类 用来装饰InputStream以及OutputStream ...

  7. springboot情操陶冶-web配置(一)

    承接前文springboot情操陶冶-@SpringBootApplication注解解析,在前文讲解的基础上依次看下web方面的相关配置 环境包依赖 在pom.xml文件中引入web依赖,炒鸡简单, ...

  8. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(3)- 串口功能实现(pySerial)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生之串口功能实现. 串口调试助手是最核心的当然是串口数据收发与显示的功能,Jays-PyCOM借助的是 ...

  9. Shiro+easyUI+SpringMVC实现登录认证

      最近在做一个小项目,其中认证这块使用shiro+SpringMVC+easyUI,因为easyUI在提交数据的时候使用的是ajax的异步提交,所以shiro在处理数据的时候需要重写FormAuth ...

  10. http无状态

    说http无状态,客户端请求,建立一个链接,请求完毕既会关掉连接,避免占用通道,对处理业务逻辑没有记忆功能