我有一个由一名经理和一名工人组成的码头工人群。
当我创建一个具有4个副本的服务时,我在每个节点上有两个容器(管理器上2个,工作节点上2个)。
工作节点从重新启动返回后,负载是否应该自动重新分配?
如果没有,如何重新分配负载?
答案 0 :(得分:2)
只有一名经理,您没有HA,并且在发生故障时,将不会重新安排任何时间。您至少需要3位管理员来支持单个停机管理员方案。当单个管理器重新启动时,这是调度程序分配工作负载与现有节点重新连接之间的竞争条件,即工作节点不太可能获胜。
群集模式不会主动重新调整重新计划的工作负载,当将新节点添加到集群中时,或者只是重新启动关闭的节点时,现有任务将继续在其当前节点中运行,直到有更改迫使他们重新计划。该更改可以是故障节点,也可以是服务的更新。由于新节点可能不稳定/抖动,因此可以提高HA。
要强制群模式重新平衡服务,可以运行:
docker service update --force $service_name
这将强制进行更新,而无需对该服务进行任何其他修改。 (用您的服务的名称或ID替换$service_name
。)