我正在使用带有其部署密钥的docker-compose文件版本3来运行群集(docker版本1.13),并且我想复制一项服务以使其再次具有弹性以应对单节点故障。
但是,当我添加这样的部署部分时:
deploy: replicas: 2
在我的四节点群集中,有时我最终将两个副本安排在同一节点上。我所缺少的是将两个实例安排在不同节点上的约束。
我知道global
我可以使用一种模式,但是它将在每个节点上运行一个实例,即在我的情况下是四个实例,而不是两个。
是否有一种简单的方法可以以通用的方式指定此约束,而不必求助于global
和标签的组合以使其他实例远离?
编辑:再次尝试后,这次我发现容器要安排在不同的节点上。我开始怀疑我是否有'node.hostname == X'
约束条件。
编辑2:在另一个服务更新之后-并且没有任何放置限制-该服务再次在同一节点上调度(如ManoMarks Visualizer所示):