[英]Docker Swarm - Scaling Containers
我有一个带有 7 个节点(3 个主节点和 4 个工作节点)的 Docker 群环境我正在尝试部署一个容器并购买要求是在任何时候我都需要运行这个容器的 2 个实例但是当我扩展它时,容器应该是部署到与当前运行不同的节点。
例如:假设容器的一个实例在节点 4 中运行,并且我扩展到scale=2它应该在除节点 4 之外的任何其他节点中运行。
试过这个但没有运气:
deploy:
mode: global
placement:
constraints:
- node.labels.cloud.type == nodesforservice
我们通过部署首选项配置(在放置部分下)解决了这个问题。 我们在所有工作节点上设置了 node.labels.worker。 我们有 3 个工作人员,他们为每个工作人员设置了 node.labels.worker = worker1、node.labels.worker = worker2 和 node.labels.worker = worker3 标签。 在 docker compose 端,我们对其进行配置:
placement:
max_replicas_per_node: 2
constraints:
- node.role==worker
preferences:
- spread: node.labels.worker
请注意,这不会始终在单独的节点上强制它,但如果可能的话,它会这样做。 所以这不是硬限制。 小心那个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.