通过设置节点标签和nodeSelector策略,您可以将应用调度到指定节点上。
前提条件
步骤一:设置节点标签
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群管理页左侧导航栏,选择 。
在页面右上角单击标签与污点管理,进入标签与污点管理页面。
在标签页签中,选择目标节点,然后单击左下角的添加标签。
在弹出的添加对话框中,输入标签的名称和值,然后单击确定。
名称:标签名称由字母、数字、短划线(-)、下划线(_)、小数点(.)组成,且必须以字母或者数字开头和结尾。本文示例为pod。
值:标签值可以为空字符串或由字母、数字、短划线(-)、下划线(_)、小数点(.)组成,且必须以字母或者数字开头和结尾。本文示例为nginx。
步骤二:调度应用到指定节点
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群管理页左侧导航栏,选择 。
单击目标应用操作列的查看Yaml,为应用设置nodeSelector。本文以名称为nginx-deployment-basic的无状态工作负载为例进行说明。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment-basic labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: nodeSelector: pod: nginx #添加节点的标签,以保证您的应用只可以运行在目标节点上。请使用实际值。 containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
单击更新,会提示部署状态信息。
结果验证
单击应用名称,进入应用详情页面,查看容器组页签。目标应用Pod全部被调度到了xxx.xxx.33.88的节点上,这个节点正是本文示例中在节点中打了标签(pod: nginx)的节点。
相关文档
如果您想了解更多关于
nodeSelector
的信息,请参见Assigning Pods to Nodes。您可以在应用发布或扩容过程中,自定义资源策略(ResourcePolicy),设置应用被调度到不同类型节点资源的顺序。同时,在缩容过程中按照原调度顺序逆序缩容。详细信息,请参见自定义弹性资源优先级调度。