我有一个带有7个节点(3个主节点和4个工人)的Docker群环境,我试图部署一个容器并购买需求,在任何时候我都需要这个容器的两个运行实例,但是当我扩展这个容器时,容器应该被部署到一个与当前运行的不同的节点上。
例:假设容器的一个实例运行在节点4中,而我扩展到scale=2,它应该运行在除Node 4之外的任何其他节点中。
试过了,但没有运气:
deploy:
mode: global
placement:
constraints:
- node.labels.cloud.type == nodesforservice发布于 2022-05-30 06:29:10
我们用部署首选项配置 (在安置部分)解决了这个问题。我们在所有的工作节点上设置了node.labels.worker。我们有3个工人--他们有node.labels.worker = worker1、node.labels.worker = worker2和node.labels.worker = worker3标签--每个标签都被设置。在对接方,然后我们配置它:
placement:
max_replicas_per_node: 2
constraints:
- node.role==worker
preferences:
- spread: node.labels.worker注意,这不会强制它总是在单独的节点上,但如果有可能,它将这样做。所以这不是硬性限制。小心点。
https://stackoverflow.com/questions/72400248
复制相似问题