假设我们有一个包含 10 个节点、4 个管理器和 6 个工人的测试设置。
当 leader manager 失败时,其他 3 个 manager 将选择另一个 manager 作为 leader。
当这个领导也失败时,我们只剩下 2 名经理了。其他经理然后说
来自守护进程的错误响应:rpc 错误:code = Unknown desc = swarm 没有领导者。在线的经理可能太少。确保超过一半的经理在线。
因为我们只剩下不到一半的管理器,所以尽管集群中还剩下 2 个管理器,但他们将无法选择新的领导者。
我的问题是
- 这条规则的意义,因为集群没有领导者,并且只要没有额外的管理器添加到集群中就不再可管理,尽管有 2 个管理器可用。
- 为什么我应该为节点选择角色工作者?将节点作为工人有什么好处?默认情况下,管理器也充当工人,但缺点是当管理器节点发生故障时它们无法接管。