完全关闭后限制启动容器

时间:2018-12-19 19:25:44

标签: docker docker-swarm

我们有一个裸机 Docker Swarm集群,其中有很多容器。

最近我们在物理服务器上停了下来。

主要问题发生在Docker启动时,所有容器都试图同时启动。

我想知道是否有办法限制起始容器的数量? 或者,如果还有另一种方法可以避免物理服务器超载。

1 个答案:

答案 0 :(得分:3)

目前,我还不知道有能力限制群集模式启动容器的速度。代码中有todo entry to add an exponential backoff,并且swarmkit中有各种未解决的问题,例如1201可能最终有助于解决此问题。理想情况下,您将拥有一个HA群集,其中的节点分布在不同的AZ中,并且当一个节点发生故障时,工作负载将迁移到另一节点,并且最终不会出现一个过载的节点。

您可以使用resource constraints。您可以为每个服务配置最少的CPU和内存预留量。这将防止群集模式在节点上调度的容器数量超过其在严重停机期间无法处理的数量。缺点是某些服务可能在中断期间不按计划进行,因此您无法确定要安排的更重要的优先级。