1. 程式人生 > >雲計算之路-阿裏雲上:docker swarm 集群再次出現故障

雲計算之路-阿裏雲上:docker swarm 集群再次出現故障

error: borde vsx join RKE 雲計 .sh connect con

技術分享圖片

非常非常抱歉!16:30 ~ 17:00 左右我們用於跑 ASP.NET Core 站點的 docker swarm 集群再次出現宕機,由此給您帶來了很大很大的麻煩,懇請您的諒解!

受此次故障影響的站點有:博問,閃存,班級,園子,短信息,招聘,小組,網摘,新聞,openapi

故障的經過是這樣的。

一開始只是訪問時偶爾出現 503 ,然後 503 逐漸增多。登錄到集群的各個節點,發現有節點 ssh 登錄響應慢,登錄進去後執行 docker 命令也慢,於是將這個節點下線並重啟,但是這樣操作後又有新的節點出現這個問題 。。。然後越來越多的節點出現這個問題,造成全面 503 。

發現重啟節點服務器不湊效,我們立即選擇了重建集群,這本來每次都管用的一招,這次竟然失靈。

swarm1-node1 這個節點通過 docker swarm leave --force 命令強制退出已有集群,重新創建新的集群,並只部署了 docker-proxy-flow 路由容器。

docker swarm init --advertise-addr $(ip address | grep -oP "10\.[^/]+(?=/)")
docker network create --driver overlay cnblogs --subnet 10.128.0.0/16
docker network create --driver overlay proxy  --subnet 10.129.0.0/16
cd docker-flow-proxy
./deploy-prod.sh

watch ‘docker stack ps proxy‘

這時沒有部署其他應用容器,以免一部署把這個節點壓垮,而是將其他節點一一加入集群,但是加集群時傻眼了,出現下面的錯誤,無法加入。

# docker swarm join --token SWMTKN-1-2tzw5t53lzek5anyv163pc932zfrv1knkbzkxz9vg76uvsx5mz-3rw8fxa7sjbsf9hp55ycvmqxb 10.0.1.7:2377
Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable

更恐怖的是所有其他節點都因為同樣的問題無法加入集群,不管是 manager 節點,還是 worker 節點。

在當時情急、愧疚、慌亂、無助。。。各種情緒的混雜之下,想到了最後一招,換另外一臺服務器重建集群,結果一切正常,很快完成了整個集群的重建,恢復了正常。

用了 5 個 manager 節點,docker swarm 集群竟然還是如此不穩定,這是我們未曾料到的。目前我們需要先仔細分析,然後再評估接下來的應對措施。

再次請您諒解由此給您帶來的麻煩!

雲計算之路-阿裏雲上:docker swarm 集群再次出現故障