更新时间:2024-09-29 GMT+08:00

调度配置

为您提供kube-scheduler基础配置信息,并提供Volcano作为容器调度器的高级调度能力配置,您可以在此开启装箱策略、基于优先级的调度与抢占、AI任务性能增强、异构资源管理等高级调度能力,提升集群资源利用率,为您节约成本。

设置集群默认调度器

默认调度器 (default-scheduler)

Kubernetes调度器可以发现集群中新创建且尚未被调度到节点上的Pod,并负责将未调度的Pod指派到一个合适的节点上运行。在同一个集群中可以使用多个不同的调度器,kube-scheduler调度器是Kubernetes社区提供的集群默认调度器,CCE同时还支持增强的Volcano调度器,提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力。

您可以选择将kube-scheduler调度器和Volcano调度器配合使用,也可以单独使用kube-scheduler调度器或Volcano调度器。

表1 集群默认调度器

调度器名称

说明

调度器配置

kube-scheduler调度器

提供社区原生调度器标准调度能力。

设置kube-scheduler调度器为默认调度器时,如果集群中同时安装Volcano调度器,将默认启用Volcano增强能力,为您提供资源利用率优化、AI任务性能增强、异构资源管理等高级调度能力,提升集群资源利用率,节约使用成本。此时,集群中的普通工作负载调度任务任由kube-scheduler调度器执行,仅部分指定的工作负载由Volcano调度器执行,详情请参见使用Volcano调度工作负载

kube-scheduler调度器配置:

安装Volcano调度器后的增强配置:

Volcano调度器(v1.27及以上版本支持)

设置Volcano调度器为默认调度器后,Volcano调度器将替换kube-scheduler调度器,集群中的工作负载任务调度均由Volcano调度器执行。

Volcano兼容kube-scheduler调度能力,并提供增量调度能力。使用该调度器时,请先安装Volcano调度器插件,详情请参见Volcano调度器

Volcano调度器增强配置:

Kube-scheduler 调度器

kube-scheduler 提供社区原生调度器标准调度能力。

启用volcano增强能力:需安装Volcano 调度器插件。开启后为您提供资源利用率优化、AI任务性能增强、异构资源管理等高级调度能力,提升集群资源利用率,节约使用成本。

Volcano调度器增强配置:

调度器性能配置

仅kube-scheduler调度器支持该配置。

表2 调度器性能配置参数说明

名称

参数

说明

取值

调度器访问kube-apiserver的QPS

kube-api-qps

与kube-apiserver通信的QPS,即每秒查询率。

  • 集群规格为1000节点以下时,默认值100
  • 集群规格为1000节点及以上时,默认值200

调度器访问kube-apiserver的突发流量上限

kube-api-burst

与kube-apiserver通信的突发流量上限。

  • 集群规格为1000节点以下时,默认值100
  • 集群规格为1000节点及以上时,默认值200

业务优先级保障调度

基于优先级调度

基础调度能力,不支持关闭,调度器会优先保障高优先级业务运行,但不会主动驱逐已运行的低优先级业务。详情请参见优先级调度与抢占

基于优先级抢占调度(Volcano调度器支持)

启用该能力后,集群资源不足时,调度器主动驱逐低优先级业务,保障高优先级业务正常调度。详情请参见优先级调度与抢占

  • 集群默认调度器设置为Volcano调度器时支持该配置。
  • 基于优先级抢占调度能力与Pod延迟创建能力不可同时开启。

资源利用率优化调度(Volcano调度器支持)

装箱策略(Binpack)

启用该能力后,调度器优先选择具有最多请求资源的节点,减少各节点资源碎片,提高集群整体资源利用率。详情请参见装箱调度(Binpack)

装箱策略整体权重和内部各资源维度的打分权重设置如表3
表3 装箱策略权重配置

名称

说明

默认值

装箱调度策略权重

增大该权重值,可提高装箱策略在整体调度中的影响力。

10

CPU权重

增大该权重值,优先提高集群CPU利用率。

1

内存权重

增大该权重值,优先提高集群Memory利用率。

1

自定义资源类型

指定Pod请求的其他自定义资源类型,例如nvidia.com/gpu。增大该权重值,优先提高指定资源的利用率。

-

负载感知调度(Usage)

负载感知调度通过云原生监控插件(kube-prometheus-stack)获取各节点 CPU、内存的真实负载数据,根据用户指定的周期计算各节点的负载平均值,优先调度任务至真实负载较低的节点,实现节点负载均衡。详情请参见负载感知调度

AI任务性能增强调度(Volcano调度器支持)

公平调度(DRF)

DRF(Dominant Resource Fairness)是主资源公平调度策略,可以支持多种类型资源的公平分配,应用于大批量提交AI训练和大数据作业场景。DRF调度算法优先考虑集群中业务的吞吐量,适用单次AI训练、单次大数据计算以及查询等批处理小业务场景。

启用公平调度(DRF)后,可增强集群业务的吞吐量,提高业务运行性能。详情请参见公平调度(DRF)

组调度(Gang)

Gang调度策略满足了调度过程中的“All or nothing”的调度需求,避免Pod的任意调度导致集群资源的浪费,应用于AI、大数据等多任务协作场景。

启用组调度(Gang)后,可以解决分布式训练任务之间的资源忙等待和死锁等痛点问题,大幅度提升整体训练性能。详情请参见组调度(Gang)

异构资源调度(Volcano调度器支持)

支持GPU资源调度

使用该能力时,集群中需要同时安装CCE AI套件(NVIDIA GPU)。启用该能力后,可使用GPU资源运行AI训练作业,调度器提供GPU整卡调度和GPU共享调度能力,提高GPU资源利用率。

支持NPU资源调度

使用该能力时,集群中需要同时安装CCE AI套件(Ascend NPU)。启用该能力后,可使用使用昇腾NPU资源运行AI训练作业,调度器提供NPU拓扑感知调度能力,提高训练作业执行效率。