首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker :使用--放置-pref在特定节点上运行服务

Docker :使用--放置-pref在特定节点上运行服务
EN

Stack Overflow用户
提问于 2019-03-20 14:13:51
回答 1查看 836关注 0票数 3

你能帮帮我吗?

我希望用placement-pref.更新一个服务,并在特定的节点上运行它的任务。

实际上,我有3个节点(主机名):

管理器:ip-172-31-16-167

工人-1:ip-172-31-30-215

工人-2:ip-172-31-24-172

我已经将服务"myapp_vote"与运行在ManagerWorker-1上的2任务(副本)一起部署,我希望在Worker-1Worker-2E 221上运行这些任务,因此我执行以下命令:

代码语言:javascript
复制
docker node update --label-add Vote=true ip-172-31-30-215

docker node update --label-add Vote=true ip-172-31-24-172

docker service update --placement-pref-add 'spread=node.labels.Vote' myapp_vote

但什么也没发生,两个任务继续在经理和工人身上运行。

我尝试使用以下命令添加约束:

代码语言:javascript
复制
docker service update --constraint-add 'node.labels.Vote == true' myapp_vote

它成功了,这两个任务开始在Worker上运行--1和Worker-2。

除了placement-pref,还能做同样的事情吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-25 12:47:44

这是不可能这样做的唯一的布局-pref 因为

缺少用于传播的标签的节点仍然接收任务分配。作为一个组,这些节点接收任务的比例与由特定标签值标识的任何其他组相同。从某种意义上说,缺少的标签与带有空值的标签是一样的。如果服务应该只在节点上运行,而标签用于扩展首选项,则应该将该首选项与约束结合起来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55262862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档