Docker群集模式:缩小节点并删除服务
对于给定服务t1, t2, ..., tk
,节点N1, N2, ...Nw
有一组任务。
由于使用率较低,我不需要像k
那样多的任务。 我只需要l
任务( l < k
)。
事实上,我不需要w
节点,所以我想开始删除机器,并支付less。 每次拆下一台机器都可以。
每个服务都有自己的状态。 服务以复制模式启动。
1)我如何删除单个节点并强制docker swarm不重新创build相同数量的服务任务?
笔记:
- 我可以确保没有工作重新路由到在特定节点上运行的任务,因此删除特定节点是安全的。
- 这是最简单的解决scheme,假设在被移除的节点上服务
k - l
服务,我将以w - 1
节点和l
服务结束。
要么
2)如何从docker swarm中移除特定的容器(任务),并且保持服务副本的数量低于被移除的任务的数量?
笔记:
- 我假设我已经删除了一个节点。 来自节点的服务被重新部署到其他节点。
- 我监视自己没有交通的集装箱(任务) – >没有状态是需要维护的
要么
3)其他解决scheme?
回答你的问题
Q1->您可以简单地排空集群中的节点,以validation服务上的服务是否在其他节点上启动。 一旦完成,您可以安全地从群集中删除节点。 docker节点更新 – 可用性排水<>
Q2->您必须在启动服务时指定了副本计数,您可以将其缩小为较小的计数。
docker服务规模<> = <>