是否可以有选择地将服务部署到节点?
Is it possible to deploy a service selectively to node?
我正在使用 docker-swarm 模式部署服务。所以我有一个管理器和 4 个节点,这意味着我总共有 5 个实例。
但我想拆分 2 个和 2 个工作节点,并在不创建另一个实例的情况下向它们部署两个不同的服务。
这真的可能吗?
像
实例 1(经理)- 经理服务 a、b
实例 2(worker) - 服务 a
实例 3(worker) - 服务 a
实例 4(工人)- 服务 b
实例 4(工人)- 服务 b
因为我不想让另一个实例只有另一个经理..但在任何地方都找不到任何合理的解决方案
是的,您可以使用节点标签实现 -
--constraint 'node.labels.service== myservice1'
在 YAML 中 -
placement:
constraints: [node.labels.service == myservice1 ]
您只需要确保集群模式下的节点被正确标记即可。
标签更新 - https://docs.docker.com/engine/reference/commandline/node_update/
我正在使用 docker-swarm 模式部署服务。所以我有一个管理器和 4 个节点,这意味着我总共有 5 个实例。 但我想拆分 2 个和 2 个工作节点,并在不创建另一个实例的情况下向它们部署两个不同的服务。
这真的可能吗? 像 实例 1(经理)- 经理服务 a、b 实例 2(worker) - 服务 a 实例 3(worker) - 服务 a 实例 4(工人)- 服务 b 实例 4(工人)- 服务 b
因为我不想让另一个实例只有另一个经理..但在任何地方都找不到任何合理的解决方案
是的,您可以使用节点标签实现 -
--constraint 'node.labels.service== myservice1'
在 YAML 中 -
placement:
constraints: [node.labels.service == myservice1 ]
您只需要确保集群模式下的节点被正确标记即可。
标签更新 - https://docs.docker.com/engine/reference/commandline/node_update/