1. 程式人生 > >雲計算之路-阿裏雲上:重啟 manager 節點引發 docker swarm 集群宕機

雲計算之路-阿裏雲上:重啟 manager 節點引發 docker swarm 集群宕機

node bili body 運行 nodes 服務 徹底 解決 ability

為了迎接春節假期後的訪問高峰,我們今天對 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 集群的不穩定讓我們如履薄冰,今年我們會想盡一切辦法徹底解決這個問題。

雲計算之路-阿裏雲上:重啟 manager 節點引發 docker swarm 集群宕機