我是一名有用的助手,可以翻译文本。
我正在使用docker-compose文件版本3和其部署密钥来运行一个swarm(docker版本1.13),我希望复制一个服务以使其能够抵御单个节点故障。
然而,当我添加一个像这样的部署部分时:
在我的四节点集群中,有时会出现两个副本都被安排在同一个节点上的情况。我缺少一种约束条件,可以将这两个实例安排在不同的节点上。
我知道有一种
是否有一种简单的通用方式来指定这种约束条件,而不必诉诸于结合
编辑:再试一次后,我发现容器被安排在不同的节点上了。我开始想知道是否已经设置了
编辑2:在另一个服务更新之后 - 没有任何放置约束条件 - 该服务再次被安排在同一节点上(如ManoMarks Visualizer所示)。
我正在使用docker-compose文件版本3和其部署密钥来运行一个swarm(docker版本1.13),我希望复制一个服务以使其能够抵御单个节点故障。
然而,当我添加一个像这样的部署部分时:
deploy:
replicas: 2
在我的四节点集群中,有时会出现两个副本都被安排在同一个节点上的情况。我缺少一种约束条件,可以将这两个实例安排在不同的节点上。
我知道有一种
global
模式可以使用,但这将在每个节点上运行一个实例,在我的情况下是四个实例,而不仅仅是两个。是否有一种简单的通用方式来指定这种约束条件,而不必诉诸于结合
global
和标签以使其他实例远离的方法?编辑:再试一次后,我发现容器被安排在不同的节点上了。我开始想知道是否已经设置了
'node.hostname==X'
约束条件。编辑2:在另一个服务更新之后 - 没有任何放置约束条件 - 该服务再次被安排在同一节点上(如ManoMarks Visualizer所示)。