我们只是尝试了3个节点的Docker-Swarm,每个节点充当Master和Worker。 这工作正常,但我不知道如果以下行为是“正常的”。
如果我closures这3个节点中的一个,那么swarm会处理好服务的重新分配。
如果我closures了这三个节点中的两个,那么这些服务仍然可以正常工作,但是如果我连接到“最后一个人站立”并尝试让我的群集概览:
docker node ls
我收到以下错误信息:
Error response from daemon: rpc error: code = 4 desc = context deadline exceeded
只有一个节点剩下时,我不确定群是否可以运行? 我会猜测是的
你在这里有一个解释: https : //docs.docker.com/engine/swarm/raft/
木筏容忍高达(N-1)/ 2次失败,并且要求(N / 2)+1个成员的大多数或法定人数同意向集群提出的值。
当你运行3个pipe理节点时,你的集群可以接受一个节点,因为剩下的2个可以认同第三个节点已经死了。
如果你只剩下一个节点,也许是有问题的那个。 所以它不会接受任何改变,如果你的networking分裂,你将不会有不一致的状态。