互联网技术 / 互联网资讯 · 2024年1月27日

云计算核心技术Docker教程:管理和维护Docker引擎的Swarm模式

当您运行 Docker 引擎群时,管理器节点是管理群和存储群状态的关键组件。了解管理器节点的一些关键特性以正确部署和维护集群非常重要。

SwaRM 管理节点使用 Raft Consensus Algorithm 来管理 swarm 状态。您只需要了解 Raft 的一些一般概念即可管理集群。

管理节点的数量没有限制。关于实现多少管理节点的决定是性能和容错之间的权衡。将管理器节点添加到 swarm 使 swarm 更具容错性。然而,额外的管理器节点会降低写入性能,因为更多的节点必须确认更新群状态的提议。这意味着更多的网络往返流量。

Raft 需要大多数管理者(也称为法定人数)就对群的提议更新达成一致,例如节点添加或删除。成员操作受制于与状态复制相同的约束。

如果 swarm 失去了管理者的法定人数,swarm 就无法执行管理任务。如果你的集群有多个管理器,总是有两个以上。为了保持法定人数,必须有大多数经理可用。建议使用奇数个管理器,因为下一个偶数不会使法定人数更容易保持。例如,无论您有 3 位还是 4 位经理,您仍然只能失去 1 位经理并保持法定人数。如果你有 5 或 6 个经理,你仍然只能失去两个。

即使 swarm 失去管理器的法定人数,现有工作节点上的 swarm 任务也会继续运行。但是,不能添加、更新或删除 swarm 节点,也不能启动、停止、移动或更新新的或现有的任务。

如果您确实失去了管理器的法定人数,请参阅从失去法定人数中恢复以了解故障排除步骤。

启动群时,您必须指定–advertise-address 标志以将您的地址广告给群中的其他管理器节点。有关更多信息,请参阅以 swarm 模式运行 Docker 引擎。因为管理器节点是基础设施的一个稳定组件,你应该使用固定的 IP 地址作为广告地址,以防止 swarm 在机器重启时变得不稳定。

如果整个 swarm 重新启动并且每个管理器节点随后都获得了一个新的 IP 地址,则任何节点都无法联系现有的管理器。因此,当节点尝试通过其旧 IP 地址相互联系时,集群会被挂起。

工作节点可以使用动态 IP 地址。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册