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

节点亲和调度策略

  1. 进入CCE Console页面,单击“集群名称-节点管理-节点”,单击更多列的|“编辑YAML”。
  2. 通过YAML配置如下参数:

    metadata:
      labels:
        istio: ingressgateway

    也可在步骤1节点页面单击操作列的“标签管理”设置。

  3. 进入CCE Console页面,单击“集群名称--工作负载”,单击待升级工作负载更多列的“编辑YAML”。
  4. 通过YAML配置如下参数:

    spec:
      template: 
    spec:
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                  - matchExpressions:
                      - key: istio
                        operator: In
                        values:
                          - ingressgateway

    也可以通过单击步骤3页面待升级工作负载的操作列的“升级”按钮来配置,对应参数如下:

    建议值说明:

    节点亲和硬约束:Pod调度到包含istio:ingressgateway标签的节点上;

    节点亲和参数说明:

    参数名

    参数描述

    必须满足

    即硬约束,设置必须要满足的条件,对应requiredDuringSchedulingIgnoredDuringExecution。

    添加多条“必须满足”规则时,只需要满足一条规则就会进行调度。

    尽量满足

    即软约束,设置尽量满足的条件,对应preferredDuringSchedulingIgnoredDuringExecution。

    添加多条“尽量满足”规则时,满足其中一条或者都不满足也会进行调度。

    节点亲和性调度策略参数说明:

    参数名

    参数描述

    标签名

    设置节点亲和性时,填写需要匹配的节点标签。

    该标签可以使用系统默认的标签,也可以使用自定义标签。

    操作符

    可以设置六种匹配关系(In、NotIn、Exists、DoesNotExist、Gt、Lt)。

    • In:亲和/反亲和对象的标签在标签值列表(values字段)中。
    • NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。
    • Exists:亲和/反亲和对象存在指定标签名。
    • DoesNotExist:亲和/反亲和对象不存在指定标签名。
    • Gt:仅在节点亲和性中设置,调度节点的标签值大于列表值 (字符串比较)。
    • Lt:仅在节点亲和性中设置,调度节点的标签值小于列表值 (字符串比较)。

    标签值

    设置节点亲和性时,填写节点标签对应的标签值。

配置节点亲和参数会触发工作负载滚动升级,即Pod会立即发生重启。

相关文档