gpt4 book ai didi

docker swarm - 如何平衡集群中已经运行的容器?

转载 作者:IT老高 更新时间:2023-10-28 21:19:32 25 4
gpt4 key购买 nike

我在 AWS 上有 2 个节点的 docker swarm 集群。我停止了这两个实例,最初启动了 swarm manager,然后启动了 worker。在停止实例之前,我有一个服务正在运行,其中有 4 个副本分布在经理和工作人员之间。
当我首先启动 swarm manager 节点时,所有副本容器都在 manager 本身上启动,根本没有移动到 worker。
请告诉我如何做负载均衡?
swarm manager在worker启动时不负责吗?

最佳答案

如果服务处于默认的“复制模式”,Swarm 当前 (18.03) 不会在新节点启动时移动或替换容器。这是设计使然。如果我要添加一个新节点,我不一定希望停止一堆其他容器,并在我的新节点上创建新容器。 Swarm 仅在必要时(在复制模式下)停止容器“移动”副本。

docker service update --force <servicename>将在符合其要求和约束的所有节点上重新平衡服务。

进一步的建议:与其他容器编排器一样,您需要在节点上提供容量,以便处理在中断期间移动的任何服务副本的工作负载。您的备用容量应该与您计划支持的冗余级别相匹配。例如,如果您想处理同时发生故障的 2 个节点的容量,则需要所有节点上的最低资源百分比才能将这些工作负载转移到其他节点。

关于docker swarm - 如何平衡集群中已经运行的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49518376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com