Docker swarm - 添加新工作人员 - 重新扩展服务
Docker swarm - add new worker - re scale the service
我创建了一个 docker 经理。在同一台服务器中创建了一个服务并扩展到 5 个实例。
我加了两个工人。现在,我如何在 3 个节点上重新分配应用程序的 5 个实例?
是否可以不从头开始做任何事情?
docker service scale id=5
做到了。这是正确的方法吗?我不想重新启动已经存在的实例。它在节点 1 重新启动。
docker service update servicename
我通过 docker swarm leave
从集群中删除了一个节点。我更新了服务。我的所有实例都在剩余节点中复制。
很高兴,更新按预期工作。但是,还有另一个转折点。
我把节点加回去了。然后我更新了服务。现在,我所有的实例都是 运行 和之前的情况一样。它不使用新节点。
它是如何工作的?
要重新分发,您不需要销毁并重新创建服务,但容器将在滚动升级中全部弹回。命令为docker service update --force $service_name
添加或删除节点时,docker只会在当前状态与目标状态存在差异时才重新安排。在执行上述更新命令之前,它不会过早地杀死 运行 容器以在新节点上重新安排。
我创建了一个 docker 经理。在同一台服务器中创建了一个服务并扩展到 5 个实例。
我加了两个工人。现在,我如何在 3 个节点上重新分配应用程序的 5 个实例?
是否可以不从头开始做任何事情?
docker service scale id=5
做到了。这是正确的方法吗?我不想重新启动已经存在的实例。它在节点 1 重新启动。
docker service update servicename
我通过 docker swarm leave
从集群中删除了一个节点。我更新了服务。我的所有实例都在剩余节点中复制。
很高兴,更新按预期工作。但是,还有另一个转折点。
我把节点加回去了。然后我更新了服务。现在,我所有的实例都是 运行 和之前的情况一样。它不使用新节点。
它是如何工作的?
要重新分发,您不需要销毁并重新创建服务,但容器将在滚动升级中全部弹回。命令为docker service update --force $service_name
添加或删除节点时,docker只会在当前状态与目标状态存在差异时才重新安排。在执行上述更新命令之前,它不会过早地杀死 运行 容器以在新节点上重新安排。