Docker worker在重新启动后从负载中释放

Docker worker在重新启动后从负载中释放,docker,docker-swarm,swarm,Docker,Docker Swarm,Swarm,我有一个码头工人群,由一个经理和一个工人组成 当我创建一个包含4个副本的服务时,每个节点上有两个容器(管理器上有2个,工作节点上有2个) 我重新启动了worker节点,因此我发现管理器现在拥有所有负载(4个容器) 重新启动后,经理仍有4个容器,而工人则一无所有 工作节点重新启动后,负载不应该自动重新分配吗 如果没有,如何重新分配负载 只有一个管理者,您就没有HA,当HA关闭时,将不会重新安排任何内容。您至少需要3名管理人员来支持单个向下管理人员场景。当单个管理器重新启动时,调度程序分配工作负载

我有一个码头工人群,由一个经理和一个工人组成

当我创建一个包含4个副本的服务时,每个节点上有两个容器(管理器上有2个,工作节点上有2个)

  • 我重新启动了worker节点,因此我发现管理器现在拥有所有负载(4个容器)
  • 重新启动后,经理仍有4个容器,而工人则一无所有
  • 工作节点重新启动后,负载不应该自动重新分配吗

  • 如果没有,如何重新分配负载


只有一个管理者,您就没有HA,当HA关闭时,将不会重新安排任何内容。您至少需要3名管理人员来支持单个向下管理人员场景。当单个管理器重新启动时,调度程序分配工作负载和现有节点重新连接之间存在竞争条件,工作节点不太可能获胜

Swarm模式不会主动重新调整重新调度工作负载,或者在向集群添加新节点时,或者只是重新启动一个关闭的节点时,现有任务将继续在其当前节点中运行,直到出现迫使其重新调度的更改。该更改可以是关闭节点,也可以是对服务的更新。这提高了HA,因为新节点可能不稳定/摆动

要强制swarm模式重新平衡服务,您可以运行:

docker service update --force $service_name

这将强制更新,而不对该服务进行任何其他修改。(用您服务的名称或id替换
$service\u name

只有一个管理者,您没有HA,当HA关闭时,将不会重新安排任何内容。您至少需要3名管理人员来支持单个向下管理人员场景。当单个管理器重新启动时,调度程序分配工作负载和现有节点重新连接之间存在竞争条件,工作节点不太可能获胜

Swarm模式不会主动重新调整重新调度工作负载,或者在向集群添加新节点时,或者只是重新启动一个关闭的节点时,现有任务将继续在其当前节点中运行,直到出现迫使其重新调度的更改。该更改可以是关闭节点,也可以是对服务的更新。这提高了HA,因为新节点可能不稳定/摆动

要强制swarm模式重新平衡服务,您可以运行:

docker service update --force $service_name
这将强制更新,而不对该服务进行任何其他修改。(将
$service\u name
替换为您的服务的名称或id。)