# 调度配置
为您提供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调度器](https://support.huaweicloud.com/usermanual-cce/cce_10_0193.html)，将默认启用Volcano增强能力，为您提供资源利用率优化、AI任务性能增强、异构资源管理等高级调度能力，提升集群资源利用率，节约使用成本。此时，集群中的普通工作负载调度任务任由kube-scheduler调度器执行，仅部分指定的工作负载由Volcano调度器执行，详情请参见[使用Volcano调度工作负载](https://support.huaweicloud.com/usermanual-cce/cce_10_0722.html)。 | kube-scheduler调度器配置： - [调度器性能配置]  - [业务优先级保障调度]   安装Volcano调度器后的增强配置： - [资源利用率优化调度（Volcano调度器支持）]  - [AI任务性能增强调度（Volcano调度器支持）]  - [异构资源调度（Volcano调度器支持）]   |
| Volcano调度器（v1.27及以上集群版本支持） | 设置Volcano调度器为默认调度器后，Volcano调度器将替换kube-scheduler调度器，集群中的工作负载任务调度均由Volcano调度器执行。 Volcano兼容kube-scheduler调度能力，并提供增量调度能力。使用该调度器时，请先安装Volcano调度器插件，详情请参见[Volcano调度器](https://support.huaweicloud.com/usermanual-cce/cce_10_0193.html)。                                                                                                                                 | Volcano调度器增强配置： - [业务优先级保障调度]  - [资源利用率优化调度（Volcano调度器支持）]  - [AI任务性能增强调度（Volcano调度器支持）]  - [异构资源调度（Volcano调度器支持）]                                                                                                                                                                                                                          |
   
#### Kube-scheduler 调度器
kube-scheduler 提供社区原生调度器标准调度能力。
**启用volcano增强能力：**需安装Volcano 调度器插件。开启后为您提供资源利用率优化、AI任务性能增强、异构资源管理等高级调度能力，提升集群资源利用率，节约使用成本。
Volcano调度器增强配置：
- [业务优先级保障调度]
- [资源利用率优化调度（Volcano调度器支持）]
- [AI任务性能增强调度（Volcano调度器支持）]
- [异构资源调度（Volcano调度器支持）]
 
 #### 调度器性能配置
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
仅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   集群规格变更后，参数值会根据当前集群规格自动调整。 |
   
 #### 业务优先级保障调度
**基于优先级调度**
基础调度能力，不支持关闭，调度器会优先保障高优先级业务运行，但不会主动驱逐已运行的低优先级业务。详情请参见[优先级调度与抢占](https://support.huaweicloud.com/usermanual-cce/cce_10_0775.html)。
**基于优先级抢占调度**（Volcano调度器支持该配置）
启用该能力后，集群资源不足时，调度器主动驱逐低优先级业务，保障高优先级业务正常调度。详情请参见[优先级调度与抢占](https://support.huaweicloud.com/usermanual-cce/cce_10_0775.html)。
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
- 集群默认调度器设置为Volcano调度器时支持该配置。
- 基于优先级抢占调度能力与Pod延迟创建能力不可同时开启。
 
**应用扩缩容优先级策略**（将Volcano调度器设置为集群默认调度器后支持该配置）
开启应用扩缩容优先级策略功能后，应用缩容时将按照默认优先级策略和自定义策略进行，详情请参见[应用扩缩容优先级策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0746.html)。
关闭应用扩缩容优先级策略功能后，集群中已应用该能力的工作负载仍继续生效。
 #### 资源利用率优化调度（Volcano调度器支持）
**启动装箱策略（Binpack）**
启用该能力后，调度器优先选择具有最多请求资源的节点，减少各节点资源碎片，提高集群整体资源利用率。详情请参见[装箱调度（Binpack）](https://support.huaweicloud.com/usermanual-cce/cce_10_0773.html)。
装箱策略整体权重和内部各资源维度的打分权重设置如[表3]。
 表3装箱策略权重配置 
| 名称    | 说明                                                        | 默认值 |
|:---|:---|:---|
| 装箱调度策略权重 | 增大该权重值，可提高装箱策略在整体调度中的影响力。                                | 10  |
| CPU权重    | 增大该权重值，优先提高集群CPU利用率。                                    | 1   |
| 内存权重    | 增大该权重值，优先提高集群Memory利用率。                                  | 1    |
| 自定义资源类型 | 指定Pod请求的其他自定义资源类型，例如nvidia.com/gpu。增大该权重值，优先提高指定资源的利用率。 | -     |
   
**负载感知调度（Usage）**
负载感知调度通过云原生监控插件（kube-prometheus-stack）获取各节点 CPU、内存的真实负载数据，根据用户指定的周期计算各节点的负载平均值，优先调度任务至真实负载较低的节点，实现节点负载均衡。详情请参见[负载感知调度](https://support.huaweicloud.com/usermanual-cce/cce_10_0789.html)。
 #### AI任务性能增强调度（Volcano调度器支持）
**公平调度（DRF）**
DRF（Dominant Resource Fairness）是主资源公平调度策略，可以支持多种类型资源的公平分配，应用于大批量提交AI训练和大数据作业场景。DRF调度算法优先考虑集群中业务的吞吐量，适用单次AI训练、单次大数据计算以及查询等批处理小业务场景。
启用公平调度（DRF）后，可增强集群业务的吞吐量，提高业务运行性能。详情请参见[公平调度（DRF）](https://support.huaweicloud.com/usermanual-cce/cce_10_0777.html)。
**组调度（Gang）**
Gang调度策略满足了调度过程中的"All or nothing"的调度需求，避免Pod的任意调度导致集群资源的浪费，应用于AI、大数据等多任务协作场景。
启用组调度（Gang）后，可以解决分布式训练任务之间的资源忙等待和死锁等痛点问题，大幅度提升整体训练性能。详情请参见[组调度（Gang）](https://support.huaweicloud.com/usermanual-cce/cce_10_0778.html)。
 #### 异构资源调度（Volcano调度器支持）
**支持GPU资源调度**
使用该能力时，集群中需要同时安装[CCE AI套件（NVIDIA GPU）](https://support.huaweicloud.com/usermanual-cce/cce_10_0141.html)。启用该能力后，可使用GPU资源运行AI训练作业，调度器提供GPU整卡调度和GPU共享调度能力，提高GPU资源利用率。
**支持NPU资源调度**
使用该能力时，集群中需要同时安装[CCE AI套件（Ascend NPU）](https://support.huaweicloud.com/usermanual-cce/cce_10_0239.html)。启用该能力后，可使用NPU资源运行AI训练作业，调度器提供NPU拓扑感知调度能力，提高训练作业执行效率。
