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

时间:2022-09-01 17:06:33

今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成博问闪存园子小组、openapi 无法正常访问,由此给您带来麻烦,请您谅解。

目前我们已经迁移至 asp.net core 的站点都部署在 docker swarm 集群上,节点用的是阿里云服务器,操作系统是 ubtunu 16.04 ,docker engine 版本是 17.06.0-ce, build 02c1d87 。

今天出故障期间,我们在进行节点变更的操作。操作前集群只有 3 个 manager 节点,没有 worker 节点,变更的目标是调整为 5 个节点,其中 3 个 manager ,2 个 worker ,变更的方式是减 1 个节点加 3 个节点(这 3 台服务器配置高,需要升级为 manager)。

具体的变更操作是这样的,第 1 个操作是 docker node demote node1 将已有的一个 manager 节点降级为 worker , docker swarm leave 退出集群, docker node rm node1 移除节点,这个节点是减掉的那个节点。然后,新增的服务器直接  docker swarm join --token manager_token 加为 manager 节点。第 1 个操作正常完成。

第 2 个操作的开始几步与与第 1 个操作一样,manager 降级为 worker -> 退出集群 -> 移除节点,但接着这台服务器修改主机名后又加入集群成为 worker 节点,然后新增的另外 1 台服务器以 manager 节点身份加入集群,而问题就出现在这台服务器加入集群之后。

出问题时,在任何 manager 节点上执行  docker node ls 命令都会出现下面的错误:

Error response from daemon: rpc error: code = 2 desc = The swarm does not have a leader. It's possible that too few managers are online. Make sure more than half of the managers are online

此时集群上运行的站点全部无法访问,重启所有节点后,问题依旧。。。后来实在找不到解决方法,只能重建 docker swarm 集群并重新部署应用,恢复正常。

有人在亚马逊 AWS EC2 上部署 docker swarm 集群上遇到了类似的问题 (详见 stack deploy causes nodes to randomly fail health checks making the stack unusable ),后来 docker 针对这个问题出了 Docker for AWS 的修复更新。从我们遇到的问题看,可能 docker 还没有真正修复这个问题。

故障公告:docker swarm集群“群龙无首”引发部分站点无法访问的更多相关文章

  1. 故障公告:docker swarm集群“群龙无首”造成部分站点无法访问

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

  2. 【故障公告】docker swarm 集群问题引发的故障

    我们的生产环境部署了 2 个 docker swarm 集群,集群 swarm-a 用于专门跑博客站点,集群 swarm-b 用于跑其他站点,manager 节点用了阿里云包月服务器,worker 节 ...

  3. 【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障

    非常抱歉,今天 10:30-10:45 左右由于 docker swarm 集群节点出现问题,造成除博客之外的站点出现访问异常,由此给您带来很大的麻烦,请您谅解. 故障开始时出现有时访问正常有时访问出 ...

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

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

  5. 【故障公告】docker swarm 集群问题造成新版博客后台故障

    非常抱歉,今天下午 16:55~17:05 左右,由于 docker swarm 集群的突发不稳定问题造成新版博客后台(目前处于灰度发布阶段)无法正常使用,由此给您带来麻烦,请您谅解. 出故障期时,新 ...

  6. 云计算之路-阿里云上:重启 manager 节点引发 docker swarm 集群宕机

    为了迎接春节假期后的访问高峰,我们今天对 docker swarm 集群进行了变更操作,购买了1台阿里云4核8G的服务器作为 worker 节点,由原来的  3 manager nodes + 2 w ...

  7. 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障

    3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...

  8. 云计算之路-阿里云上:部分服务器未及时续费造成docker swarm集群故障

    非常非常抱歉,由于我们的疏忽 —— docker swarm 集群中的 2 台服务器没有及时续费,造成在夜里0点被自动关机,从而引发整个 docker swarm 集群故障,造成今天凌晨 0:30 ~ ...

  9. 云计算之路-阿里云上:docker swarm 集群再次出现故障

    非常非常抱歉!16:30 ~ 17:00 左右我们用于跑 ASP.NET Core 站点的 docker swarm 集群再次出现宕机,由此给您带来了很大很大的麻烦,恳请您的谅解! 受此次故障影响的站 ...

随机推荐

  1. 【2016-10-27】【坚持学习】【Day14】【VS 配置管理器 AssemblyInfo 】

    有这样一个需求,不同客户,有不同的逻辑,通过配置管理器和条件编译进行 自动执行正确的代码.

  2. mysql数据库误删除后的数据恢复操作说明

    在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...

  3. inline-block和text-indent在IE6,IE7下同时使用的兼容问题解决方法

    在实际应用中,考虑到seo,很多button,icon都要用到inline-block和text-indent来处理,例如: <a href="#">Button&lt ...

  4. DB2查看表空间大小及使用情况

    1.SQL 查询(选择Schema为SYSPROC) SELECT SUBSTR(TABLESPACE_NAME,,) AS TBSPC_NAME, AS "TOTAL(MB)", ...

  5. 【HDOJ】3436 Queue-jumpers

    离散化+伸展树. /* 3436 */ #include <iostream> #include <string> #include <map> #include ...

  6. AngularJS学习篇(十七)

    AngularJS 输入验证 <!DOCTYPE html> <html> <script src="http://apps.bdimg.com/libs/an ...

  7. 压缩tar命令

    option z表示压缩,所以才有后面的.gz, c表示创建这个压缩包,v是可视,能看到其打包和压缩的过程,f表示文件 zcvf 命令格式为 先压缩后跟压缩的目录 tar zcvf /home/xia ...

  8. 51Nod 1010 只包含因子2 3 5的数

    K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = ...

  9. &lbrack;knowledge&rsqb;&lbrack;模式匹配&rsqb; 字符匹配&sol;模式匹配 正则表达式 自动机

    字符串 T = abcabaabcabac,字符串 P = abaa,判断P是否是T的子串,就是字符串匹配问题了,T 叫做文本(Text) ,P 叫做模式(Pattern),所以正确描述是,找出所有在 ...

  10. 【数论】【暴力】bzoj4052 &lbrack;Cerc2013&rsqb;Magical GCD

    考虑向一个集合里添加一个数,它们的gcd要么不变,要么变成原gcd的一个约数.因此不同的gcd只有log个. 所以对于每个位置,维护一个表,存储从这个位置向前所有的不同的gcd及其初始位置,然后暴力更 ...