本片关于使用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. 【Vue】IView之table组件化学习(二)

    最基本的绑定table是这样的,需要columns和data两个属性. <template> <Card> <h4>表格栗子</h4> <Tabl ...

  2. qt deleterLater

    原文链接:浅谈 Qt 内存管理     Qt 内存管理是本文将要介绍的内容,在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下: 1.所有继承 ...

  3. Spring Cloud Eureka基本概述

    记一次Eureka的进一步学习. 一.Eureka简介 百科描述:Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡 ...

  4. springboot+mybatis+dubbo+aop日志第一篇

    本篇文章主要讲述项目搭建过程,不会涉及过多的基础知识,本项目是作者对前段时间学习的一个总结,主要使用到技术有:maven父子工程.springboot.mybatis.dubbo.zookeeper. ...

  5. MaxCompute在高德大数据上的应用

    2019年1月18日,由阿里巴巴 MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,高德数据技术专家苗翌辰为大家分享了高德如何 ...

  6. springboot情操陶冶-jmx解析

    承接前文springboot情操陶冶-@Configuration注解解析,近期笔者接触的项目中有使用到了jmx的协议框架,遂在前文的基础上讲解下springboot中是如何整合jmx的 知识储备 J ...

  7. springboot2.0.3源码篇 - 自动配置的实现,发现也不是那么复杂

    前言 开心一刻 女儿: “妈妈,你这么漂亮,当年怎么嫁给了爸爸呢?” 妈妈: “当年你爸不是穷嘛!‘ 女儿: “穷你还嫁给他!” 妈妈: “那时候刚刚毕业参加工作,领导对我说,他是我的扶贫对象,我年轻 ...

  8. [C# 设计模式] Iterator - 迭代器模式:我与一份奥利奥早餐的故事

    Iterator - 迭代器模式 目录 前言 回顾 UML 类图 代码分析 抽象的 UML 类图 思考 前言 这是一包奥利奥(数组),里面藏了很多块奥利奥饼干(数组中的元素),我将它们放在一个碟子上慢 ...

  9. 拯救老旧工程,记桥接SpringMVC与Stripes框架

    背景: 公司基础设施部门推出了自己的微服务框架(以下简称M),要求所有业务应用都要接入进去,但坑爹的是M只提供了SpringMVC工程的support,对于采用Stripes作为MVC框架的应用并不支 ...

  10. Web 性能优化: 使用 Webpack 分离数据的正确方法

    摘要: Webpack骚操作. 原文:Web 性能优化: 使用 Webpack 分离数据的正确方法 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 制定向用户提供文件的最佳方式可能是一 ...