开发者社区> 问答> 正文

Swarm 集群 应用管理 指定节点调度


如果您需要将某个服务部署在指定的节点上,可以使用 constraint 关键字来实现这个功能。
    Note
部署约束只对新创建容器生效,对老容器变更配置时不起作用。
在下面的示例中,服务指定部署在 node1 上。


web:
    image: 'nginx:latest'
    restart: always
    environment:
        - 'constraint:aliyun.node_index==1'
    ports:
        - 80
    labels:
        aliyun.scale: 2

容器服务支持以下表达式:

表达式说明
constraint:aliyun.node_index==1指定部署到 node1。
constraint:aliyun.node_index!=1不部署到 node1。
constraint:aliyun.node_index==(1|2|3)指定部署到 node1 或者 node2 或者 node3。
constraint:aliyun.node_index!=(1|2|3)部署到除 node1、node2、node3 的其他机器上。
affinity:image==~redis尽量部署到有 Redis 镜像的机器上。支持填写镜像全称,如 registry.cn-hangzhou.aliyuncs.com/xxx/xxx。
affinity:service!=~redis尽量不部署到有 Redis 服务的机器上。参见服务部署约束(affinity:service)

展开
收起
青蛙跳 2018-08-23 18:47:07 2003 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
基于ECI的ACK集群高弹性架构 立即下载
如何让k8s集群30s扩容3000个Pod 立即下载
云原生时代下的分布式云多集群管理-容灾,弹性,多集群负载分布 立即下载