非常非常抱歉,由于我们的疏忽 —— docker swarm 集群中的 2 台服务器没有及时续费,造成在夜里0点被自动关机,从而引发整个 docker swarm 集群故障,造成今天凌晨 0:30 ~ 7:50 左右跑在集群上的站点无法访问,由此给您带来很大很大的麻烦,恳请您的谅解。受这次故障影响的站点有 闪存,博问,班级,园子,短信息,招聘,小组,网摘,openapi 。
昨天下午 14: 30 左右我们收到了阿里云的服务器到期通知,由于打算更换这2台到期的服务器,所以没有立即进行续费,准备安排在晚上更换服务器,但晚上由于忙去其他事情忘了进行操作,从而酿成了这次大错。我们会深刻吸取教训,改进我们的运维工作。
这次故障也让我们对 docker swarm 集群的稳定性有了更多的疑惑。之前遇到的故障都是由于节点的 CPU 波动,而这次虽然有 2 个节点下线,但集群中还有 3 个节点,当时负载极低,CPU 也没出现波动,但整个集群依然宕机。从这个角度至少说明 docker swarm 集群并不是真正意义上的分布式集群,对节点的运行状况依赖比较大,节点问题很容易影响到整个集群。
docker swarm 的不稳定也给我们带来了另外一个困扰,我们目前正在进行博客站点的 .NET Core 迁移工作,目前的博客站点用了 4 台 4 核 8 G 的 Windows Server 2016 服务器在跑,迁移完成后要不要切换到 docker swarm 上?之前是有这样的打算,但现在有点望而却步。
另外,给阿里云的一个建议,是否可以将服务器过期关机的动作放在中午 12:00 进行,而不是放在夜里 0:00 ,这样即使忘了续费也可以在中午吃饭的时间及时发现并处理,不然一错过就是一夜。