云容器引擎 CCE-重调度(Descheduler):配置资源碎片整理策略

时间:2024-05-31 08:37:37

配置资源碎片整理策略

配置CPU和内存资源碎片率整理策略(HighNodeUtilization)时,Volcano调度器需要同时开启binpack调度策略,示例步骤如下。

  1. 登录CCE控制台,单击集群名称进入集群,单击左侧导航栏的“配置中心”,通过“调度配置”页面启用装箱策略(binpack)。详情请参见装箱调度(Binpack)
  2. 单击左侧导航栏的“插件中心”,在右侧找到Volcano调度器,单击“安装”“编辑”
  3. “参数配置”中修改高级配置,配置资源碎片整理策略。

    {
      "colocation_enable": "",
      "default_scheduler_conf": {
        "actions": "allocate, backfill, preempt",
        "tiers": [
          {
            "plugins": [
              {
                "name": "priority"
              },
              {
                "enablePreemptable": false,
                "name": "gang"
              },
              {
                "name": "conformance"
              },
              {
                "arguments": {
                  "binpack.weight": 5
                },
                "name": "binpack"
              }
            ]
          },
          {
            "plugins": [
              {
                "enablePreemptable": false,
                "name": "drf"
              },
              {
                "name": "predicates"
              },
              {
                "name": "nodeorder"
              }
            ]
          },
          {
            "plugins": [
              {
                "name": "cce-gpu-topology-predicate"
              },
              {
                "name": "cce-gpu-topology-priority"
              },
              {
                "name": "cce-gpu"
              }
            ]
          },
          {
            "plugins": [
              {
                "name": "nodelocalvolume"
              },
              {
                "name": "nodeemptydirvolume"
              },
              {
                "name": "node CS Ischeduling"
              },
              {
                "name": "networkresource"
              }
            ]
          }
        ]
      },
      "deschedulerPolicy": {
        "profiles": [
          {
            "name": "ProfileName",
            "pluginConfig": [
              {
                "args": {
                  "ignorePvcPods": true,
                  "nodeFit": true,
                  "priorityThreshold": {
                    "value": 100
                  }
                },
                "name": "DefaultEvictor"
              },
              {
                "args": {
                  "evictableNamespaces": {
                    "exclude": ["kube-system"]
                  },
                  "thresholds": {
                    "cpu": 25,
                    "memory": 25
                  }
                },
                "name": "HighNodeUtilization"
              }
            ],
            "plugins": {
              "balance": {
                "enabled": ["HighNodeUtilization"]
              }
            }
          }
        ]
      },
      "descheduler_enable": "true",
      "deschedulingInterval": "10m"
    }
    表3 集群重调度策略关键参数

    参数

    说明

    descheduler_enable

    集群重调度策略开关。

    • true:启用集群重调度策略。
    • false:不启用集群重调度策略。

    deschedulingInterval

    重调度的周期。

    deschedulerPolicy

    集群重调度策略,详情请参见表4

    表4 deschedulerPolicy配置参数

    参数

    说明

    profiles.[].plugins.balance.enable.[]

    指定集群重调度策略类型。

    HighNodeUtilization:表示使用资源碎片整理策略。

    profiles.[].pluginConfig.[].name

    使用负载感知重调度策略时,会使用以下配置:

    • DefaultEvictor:默认驱逐策略。
    • HighNodeUtilization:资源碎片整理策略。

    profiles.[].pluginConfig.[].args

    集群重调度策略的具体配置。

    • 对于DefaultEvictor配置,配置参数如下:
      • ignorePvcPods:是否忽略挂载PVC的Pod,true表示忽略,false表示不忽略。该忽略动作未根据PVC类型(LocalPV/SFS/EVS等)进行区分。
      • nodeFit:是否重调度时是否考虑节点上存在的调度配置,例如节点亲和性、污点等。true表示考虑,false表示不考虑。
      • priorityThreshold:优先级设置。当Pod的优先级大于或者等于该值时,不会被驱逐。示例如下:
        {
          "value": 100
        }
    • 对于HighNodeUtilization配置,配置参数如下:
      • evictableNamespaces:驱逐策略的适用命名空间,默认范围设置为除kube-system命名空间。示例如下:
        {
          "exclude": ["kube-system"]
        }
      • thresholds:节点驱逐Pod的阈值,当节点低于此阈值时,该节点上的Pod会被驱逐。示例如下:
        {
          "cpu": 25,
          "memory": 25
        }

  4. 完成以上配置后,单击“确定”。
support.huaweicloud.com/usermanual-cce/cce_10_0766.html