首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在服务器死机时使用swarm重新调度容器

如何在服务器死机时使用swarm重新调度容器
EN

Stack Overflow用户
提问于 2018-02-15 14:41:01
回答 1查看 519关注 0票数 0

我使用docker-compose和swarm运行两个服务器

在停止A服务器时,将A服务器中的容器移动到B服务器。

但是,当启动A服务器时,B服务器中的容器不会移动到A服务器。

我想知道当服务器暂时死机时,如何正确安排死掉的服务器容器的位置

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-19 05:39:30

首先,为了让你的Swarm能够在节点关闭时重新创建任务,你仍然需要有大多数管理器节点仍然可用……因此,如果它只是一个双节点群,这将不起作用,因为您需要三个管理器,其中一个失败,另一个承担领导角色,并重新调度失败的副本。(仅供参考)

我认为你所要求的是“重新平衡”。当节点重新联机(或添加新节点)时,Swarm不会对设置为默认复制模式的服务执行任何操作。Swarm不会“移动”容器,它会销毁并重新创建容器,因此它认为Node B上的服务仍然健康,不会将其移回Node A。它不会因为Node A恢复在线而中断Node B上的活动/健康服务。

如果node B确实失败,则Swarm将再次在下一个最佳节点上重新调度任务。

如果Node B有很多容器,并且工作不平衡(即Node A是空的,Node B有3个任务正在运行),那么您可以强制服务更新,该更新将销毁并重新创建该服务的所有副本,并默认尝试将它们分散开来,这可能会导致其中一个任务在Node A上结束。

docker service update --force <serivcename>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48801270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档