Docker服务-节点上不同数量的副本
我有4个Docker节点,具有相同的CPU/内存配置。此外,我还有一个具有4个副本的服务,其中1个副本位于1个节点上 现在,我添加了具有更多CPU和内存配置的第5个节点。我通过命令缩放服务:Docker服务-节点上不同数量的副本,docker,docker-swarm,Docker,Docker Swarm,我有4个Docker节点,具有相同的CPU/内存配置。此外,我还有一个具有4个副本的服务,其中1个副本位于1个节点上 现在,我添加了具有更多CPU和内存配置的第5个节点。我通过命令缩放服务: docker服务规模webserver=5 现在我在5个节点上有5个副本。在这种情况下,我将向每个节点接收1/5的流量 例如:如果我将数字增加到8,接下来的3个将随机分布到所有节点。我如何设置此新(或百分比)副本必须仅分发到新服务器 通过约束,我只设置服务必须使用的节点,而不设置优先级 通过placeme
docker服务规模webserver=5
现在我在5个节点上有5个副本。在这种情况下,我将向每个节点接收1/5的流量
例如:如果我将数字增加到8,接下来的3个将随机分布到所有节点。我如何设置此新(或百分比)副本必须仅分发到新服务器
- 通过约束,我只设置服务必须使用的节点,而不设置优先级
- 通过placement pref,我只设置副本开始的优先级,而不设置副本的数量
Jan你不能根据当前的规格来决定,但是 想到的快速解决方案是为节点添加标签,例如node.location.west和node.location.east 然后定义两个使用相同映像、环境等的服务
apps-node-west:
deploy:
replicas: 3
placement:
constraints:
- node.location == west
apps-node-east:
deploy:
replicas: 4
placement:
constraints:
- node.location == east
通过这种方式,您可以通过向节点发布标签、每个标签(位置等)添加多少节点到群中来决定
将其与“每个节点的最大副本数”(每个节点的最大副本数)相结合,可以确保特定标签(位置)中的节点没有过载