调度应用至指定节点

通过设置节点标签和nodeSelector策略,您可以将应用调度到指定节点上。

前提条件

步骤一:设置节点标签

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 在集群管理页左侧导航栏,选择节点管理 > 节点

  3. 在页面右上角单击标签与污点管理,进入标签与污点管理页面。

  4. 标签页签中,选择目标节点,然后单击左下角的添加标签

  5. 在弹出的添加对话框中,输入标签的名称,然后单击确定

    • 名称:标签名称由字母、数字、短划线(-)、下划线(_)、小数点(.)组成,且必须以字母或者数字开头和结尾。本文示例为pod。

    • :标签值可以为空字符串或由字母、数字、短划线(-)、下划线(_)、小数点(.)组成,且必须以字母或者数字开头和结尾。本文示例为nginx。

步骤二:调度应用到指定节点

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 在集群管理页左侧导航栏,选择工作负载 > 无状态

  3. 单击目标应用操作列的查看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
  4. 单击更新,会提示部署状态信息。

结果验证

单击应用名称,进入应用详情页面,查看容器组页签。目标应用Pod全部被调度到了xxx.xxx.33.88的节点上,这个节点正是本文示例中在节点中打了标签(pod: nginx)的节点。20231228183946.jpg

相关文档

  • 如果您想了解更多关于nodeSelector的信息,请参见Assigning Pods to Nodes

  • 您可以在应用发布或扩容过程中,自定义资源策略(ResourcePolicy),设置应用被调度到不同类型节点资源的顺序。同时,在缩容过程中按照原调度顺序逆序缩容。详细信息,请参见自定义弹性资源优先级调度