完全关闭后限制启动容器
Limit starting containers after complete shutdown
我们有一个 裸机 Docker Swarm 集群,有很多容器。
最近我们在物理服务器上完全停止了。
主要问题发生在 Docker 启动时,所有容器都试图同时启动。
我想知道有没有办法限制启动容器的数量?
或者如果有其他方法可以避免物理服务器过载。
目前,我不知道可以限制 swarm 模式启动容器的速度。有一个 todo entry to add an exponential backoff in the code and various open issues in swarmkit, e.g. 1201 可能最终会帮助解决这种情况。理想情况下,您将拥有一个 HA 集群,节点分布在不同的 AZ 中,当一个节点出现故障时,工作负载将迁移到另一个节点,而您不会以一个节点过载而告终。
您可以使用的是resource constraints。您可以使用最小 CPU 和内存预留配置每个服务。这将防止 swarm 模式在一个节点上调度比它在严重中断期间可以处理的更多的容器。缺点是某些服务在中断期间可能无法安排,您无法确定优先安排哪些服务更重要。
我们有一个 裸机 Docker Swarm 集群,有很多容器。
最近我们在物理服务器上完全停止了。
主要问题发生在 Docker 启动时,所有容器都试图同时启动。
我想知道有没有办法限制启动容器的数量? 或者如果有其他方法可以避免物理服务器过载。
目前,我不知道可以限制 swarm 模式启动容器的速度。有一个 todo entry to add an exponential backoff in the code and various open issues in swarmkit, e.g. 1201 可能最终会帮助解决这种情况。理想情况下,您将拥有一个 HA 集群,节点分布在不同的 AZ 中,当一个节点出现故障时,工作负载将迁移到另一个节点,而您不会以一个节点过载而告终。
您可以使用的是resource constraints。您可以使用最小 CPU 和内存预留配置每个服务。这将防止 swarm 模式在一个节点上调度比它在严重中断期间可以处理的更多的容器。缺点是某些服务在中断期间可能无法安排,您无法确定优先安排哪些服务更重要。