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

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

晚上,我们对已经持续运行一段时间的5个节点逐一进行重启操作,重启方式如下:

1)docker node update --availability drain 让节点下线
2)阿里云控制台重启服务器
3)docker node update --availability active 让节点上线

以前多次进行过这样的操作,未曾遇到问题,而今天在将其中1台manager节点下线后竟然意外地引发了整个集群宕机 。。。21:39 - 22:02 左右,这个突发的故障给您带来很大的麻烦,请您谅解。受这次故障影响的站点有 闪存博问班级园子短信息招聘小组网摘新闻,openapi 。

经过分析,我们得到的教训是尽可能避免只有2个manager节点的情况(manager节点采用的是投票机制,少数服从多数,2个节点的投票永远是1:1,这也是一种不稳定情况)。针对这个教训,我们调整了节点的部署,改为了 5 manager nodes + 1 worker nodes ,这样即使2个manger节点下线或出问题,也不会群龙无首。

docker swarm 集群的不稳定让我们如履薄冰,今年我们会想尽一切办法彻底解决这个问题。

posted @ 2018-02-20 23:33  博客园团队  阅读(1804)  评论(11编辑  收藏  举报