重建 Docker Swarm - overlay 網路
我們使用 docker stack deploy
大量部署 Swarm services,在不斷部署新版本之後,偶爾發現新版本 services 部署成功但運作並不正常。也就是無法連線服務的狀態。目前查詢後的結論是 overlay 網路沒有正常運作了。
docker service ls
docker network ls
先取得 service 與 network 清單,再幫 Swarm services 進行 overlay 網路重新拔插的動作:
docker service update --network-add my-net_default --network-rm my-net_default myapi_myapi
如果不行,那麼建立一條新的 overlay 網路,換條線網路:
docker network inspect my-net-2
docker service update --network-add my-net-2 --network-rm my-net_default myapi_myapi
當然,這些也能整合在 Azure DevOps 的 Release ,讓每一次部署後都重新連接一次 overlay 網路。不過這可能會造成一些風險,例如,Rolling Update 或移除重建 Network 時服務無法持續服務。
注意!注意!注意!
在測試過程中,有發生過一次接收指令的 Docker Host 整台重開機的情況,有夠 High 的!成給 Swarm 敗給 Network!不過 Swarm 不就是設計來對付這意外的嗎,怕什麼!
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。