共計 901 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關如何理解 replicated mode 和 global mode,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Swarm 可以在 service 創建或運行過程中靈活地通過 –replicas 調整容器副本的數量,內部調度器則會根據當前集群的資源使用狀況在不同 node 上啟停容器,這就是 service 默認的 replicated mode。在此模式下,node 上運行的副本數有多有少,一般情況下,資源更豐富的 node 運行的副本數更多,反之亦然。
除了 replicated mode,service 還提供了一個 globalmode,其作用是強制在每個 node 上都運行一個且最多一個副本。
此模式特別適合需要運行 daemon 的集群環境。比如要收集所有容器的日志,就可以 global mode 創建 service,在所有 node 上都運行 gliderlabs/logspout 容器,即使之后有新的 node 加入,swarm 也會自動在新 node 上啟動一個 gliderlabs/logspout 副本。
docker service create \
–mode global \
–name logspout \
–mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock \
gliderlabs/logspout
可以通過 docker service inspect 查看 service 的 mode。
這里是 Global,如果創建 service 時不指定,默認是 Replicated。
無論采用 global mode 還是 replicated mode,副本運行在哪些節點都是由 Swarm 決定的,作為用戶我們有沒有可能精細控制 service 的運行位置呢?
關于如何理解 replicated mode 和 global mode 就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。