更新时间:2024-07-20 GMT+08:00
分享

设置指定节点调度(nodeSelector)

在Kubernetes中,选择某个节点调度最简单的方式是在工作负载中配置nodeSelector字段,您可以通过nodeSelector字段设置希望调度的目标节点标签。Kubernetes只会将Pod调度到拥有指定标签的节点上。

步骤一:为节点添加标签

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在集群控制台左侧导航栏中选择“节点管理”,切换至“节点”页签,勾选目标节点,并单击左上方“标签与污点管理”
  3. 在弹出的窗口中,在“批量操作”下方单击“新增批量操作”,然后选择“添加/更新”“删除”

    填写需要增加/删除标签的“键”和“值”,单击“确定”。

    例如,填写的键为“deploy_qa”,值为“true”,就可以从逻辑概念表示该节点是用来部署QA(测试)环境使用。

    图1 添加节点标签

  4. 标签添加成功后,再次进入该界面,在节点数据下可查看到已经添加的标签。

步骤二:创建指定节点调度的工作负载

  1. 使用kubectl连接集群,具体操作请参见通过kubectl连接集群
  2. 创建名为“nginx.yaml”的YAML文件,此处文件名可自定义。

    为工作负载设置nodeSelector。
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          nodeSelector: 
            deploy_qa: "true"
          containers:
          - image: nginx:latest
            imagePullPolicy: IfNotPresent
            name: nginx
          imagePullSecrets:
          - name: default-secret

    例如,填写的键为“deploy_qa”,值为“true”,这表明该Pod将被调度到有deploy_qa=true标签的节点。

  3. 创建工作负载。

    kubectl apply -f nginx.yaml

步骤三:验证调度结果

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在集群控制台左侧导航栏中选择“工作负载”
  3. 单击工作负载名称,进入详情页面,查看实例列表,验证Pod全部运行在目标节点上,即节点包含deploy_qa=true标签。

分享:

    相关文档

    相关产品