Docker

Docker-Swarm 1.13 有 3 個節點作為 Master/Worker

  • October 13, 2020

我們只是在嘗試使用 3 個節點的 Docker-Swarm,每個節點都充當 Master 和 Worker。這工作正常,但我不知道以下行為是否“正常”。

如果我關閉這 3 個節點中的一個,swarm 可以很好地處理服務的重新分配。

如果我關閉了這 3 個節點中的兩個,服務仍在工作,但如果我連接到“最後一個站著的人”並嘗試通過以下方式獲取我的群概覽:

docker node ls

我收到以下錯誤消息:

Error response from daemon: rpc error: code = 4 desc = context deadline exceeded

我不確定當只剩下一個節點時,群是否可以執行?我猜..是嗎?

你在這裡有一個解釋:https ://docs.docker.com/engine/swarm/raft/

Raft 最多可以容忍 (N-1)/2 個故障,並且需要 (N/2)+1 個成員的多數或法定人數才能就向集群提出的值達成一致。

當您執行 3 個管理器節點時,您的集群可以接受讓一個節點停機,因為剩下的 2 個可以同意第三個已死。

如果您只剩下一個節點,則可能是那個有問題的節點。因此它不會接受任何更改,並且如果您的網路分裂,您將不會出現不一致的狀態。

引用自:https://serverfault.com/questions/856130