# Kubernetes原生配置
为您提供典型的原生配置选项，您可以在此设置kube-apiserver、kube-controller等社区原生管理组件的配置，为您的集群在海量场景下提供最佳的云原生体验。
#### 集群服务器配置（kube-apiserver）
#### 容器故障迁移默认容忍周期
容器故障迁移默认容忍周期配置默认对集群中所有的容器生效，您也可以为指定Pod进行差异化容忍配置，此时将以Pod配置的容忍时长为准，详情请参见[默认容忍策略说明](https://support.huaweicloud.com/usermanual-cce/cce_10_0728.html#cce_10_0728__section333404214910)。
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
请合理设置容忍时间配置，否则可能出现以下问题：
- 配置过小：在网络抖动等短时故障场景下，容器可能会频繁迁移而影响业务。
- 配置过大：在节点故障时，容器可能长时间无法迁移，导致业务受损。
 
表1容器故障迁移默认容忍周期配置参数说明 
| 名称                 | 参数                                    | 说明                                                                          | 取值      |
|:---|:---|:---|:---|
| 容器迁移对节点不可用状态的容忍时间   | default-not-ready-toleration-seconds | 表示节点处于NotReady状态下的容忍时间。当节点出现异常，变为不可用状态时，容器将在该容忍时间后自动驱逐，默认为300s。                 | 默认：300s |
| 容器迁移对节点无法访问状态的容忍时间 | default-unreachable-toleration-seconds | 表示节点处于unreachable状态下的容忍时间。当环境出现异常，例如节点无法访问（如节点网络异常）时，容器将在该容忍时间后自动驱逐，默认为300s。 | 默认：300s |
   
#### 准入控制器插件配置
Kubernetes支持开启一些准入控制插件，可以在集群对Kubernetes API对象（如Pods、Services、Deployments等）进行修改操作前，进行相应的约束与控制。
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。
表2准入控制器插件配置参数说明 
| 名称         | 参数                                                   | 说明                                                                                                                                                                    | 取值     |
|:---|:---|:---|:---|
| 节点限制插件     | enable-admission-plugin-node-restriction            | 节点限制插件限制了节点的 kubelet 只能操作当前节点的对象，增强了在高安全要求或多租户场景下的隔离性。详细信息请参考[官方文档](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction)。 | 开启/关闭 |
| Pod节点选择器插件 | enable-admission-plugin-pod-node-selector           | Pod节点选择器插件允许集群管理员通过命名空间注释设置默认节点选择器，帮助约束 Pod 可以运行的节点，并简化配置。                                                                                                         | 开启/关闭 |
| Pod容忍度限制插件   | enable-admission-plugin-pod-toleration-restriction | Pod容忍度限制插件允许通过命名空间设置 Pod 的容忍度的默认值和限制，为集群管理者提供了对 Pod 调度的精细控制，以保护关键资源。                                                                                                 | 开启/关闭 |
   
#### 服务账号令牌卷投射
kubelet可以将ServiceAccount令牌投射到Pod中。您可以指定令牌的期望属性，例如API受众。当Pod或ServiceAccount被删除时，该令牌也将对API无效。详细信息请参考[官方文档](https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-service-account/#serviceaccount-token-volume-projection)。
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
v1.23.16-r0、v1.25.11-r0、v1.27.8-r0、v1.28.6-r0、v1.29.2-r0及以上版本的集群支持该参数。
表3服务账号令牌卷投射配置参数说明 
| 名称      | 参数                     | 说明                                                                                                                                                                                                                                                          | 取值                                                                                        |
|:---|:---|:---|:---|
| API 受众  | api-audiences            | 定义API Server接收哪些受众的令牌。它校验JWT中的aud（Audience）字段，确保令牌是为访问本API Server而签发的。 配置建议：根据集群服务间通信的需求，精确配置受众列表。此举确保服务账户令牌仅在授权的服务间进行认证使用，提升安全性。 说明： 不正确的配置可能导致服务间认证通信失败，或令牌的验证过程出现错误。                         | 默认值："https://kubernetes.default.svc.cluster.local" 支持配置多个值。 |
| 服务账户令牌发行者 | service-account-issuer | 定义Kubernetes作为ServiceAccount Token签发者的身份。它直接决定了令牌JWT中iss（Issuer）字段的值，外部系统可以通过此值确认令牌由本集群所签发。 配置建议：请确保所配置的发行者（Issuer）URL在集群内部可被访问，并且可被集群内部的认证系统所信任。 说明： 若设置了一个不可信或无法访问的发行者 URL，可能会导致基于服务账户的认证流程失败。 | 默认值："https://kubernetes.default.svc.cluster.local" 支持配置多个值。 |
   
#### 集群控制器配置（kube-controller-manager）
#### 控制器公共配置
- **控制器性能配置** ：用于设置控制器访问kube-api-server的性能参数配置。
  ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
  请合理设置控制器性能配置，否则可能出现以下问题：
  - 配置过小：可能会触发客户端限流，对控制器性能产生影响。
  
  - 配置过大：可能会导致kube-apiserver过载。
   
  表4控制器性能配置参数说明 
  | 名称                         | 参数            | 说明                                                         | 取值                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|
  | 控制器访问kube-apiserver的QPS    | kube-api-qps   | 表示与kube-apiserver通信的稳态请求速率上限，即每秒允许发送的请求数（QPS）。 | - 集群规格为1000节点以下时，默认值100  - 集群规格为1000节点及以上时，默认值200   集群规格变更后，参数值会根据当前集群规格自动调整。 |
  | 控制器访问kube-apiserver的突发流量上限 | kube-api-burst | 表示与kube-apiserver通信的突发请求上限。                  | - 集群规格为1000节点以下时，默认值100  - 集群规格为1000节点及以上时，默认值200   集群规格变更后，参数值会根据当前集群规格自动调整。  |
     
  
- **资源对象处理并发配置** ：允许同时同步的资源对象的数量。配置数量越大，管理响应越快，但 CPU（和网络）负载也越高。
  ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
  请合理设置资源对象处理并发配置，否则可能出现以下问题：
  - 配置过小：可能导致管理器处理响应慢。
  
  - 配置过大：会对集群管控面造成压力，产生过载风险。
   
  表5资源对象处理并发配置参数说明 
  | 名称                     | 参数                                                                                                                | 说明                                                                                                            | 取值                                                                                                                                                                                                                                           |
  |:---|:---|:---|:---|
  | Deployment            | concurrent-deployment-syncs                                                                                     | 可以并发同步的Deployment对象个数。数值越大意味着对Deployment的响应越及时，同时也意味着更大的CPU（和网络带宽）压力。                                         | - 集群规格为1000节点以下时，默认值5  - 集群规格为1000节点及以上时，默认值10   集群规格变更时如果当前值低于集群规格默认取值时，将自动联动上调。 |
  | Endpoint            | concurrent-endpoint-syncs                                                                                          | 可以并发同步的Endpoints对象个数。数值越大意味着更新Endpoints越快，同时也意味着更大的CPU（和网络）压力。                                                 | 默认：5                                                                                                                                                                                                                                        |
  | GC回收                  | concurrent-gc-syncs                                                                                                | 可以并发同步的垃圾收集（Garbage Collector）工作线程个数。                                                                          | 默认：20                                                                                                                                                                                                                                       |
  | Job                   | concurrent-job-syncs                                                                                             | 可以并发同步的Job对象个数。较大的数值意味着对Job的响应越及时，不过也意味着更多的CPU（和网络）占用。                                                          | 默认：5                                                                                                                                                                                                                                          |
  | CronJob               | concurrent-cron-job-syncs                                                                                         | 可以并发同步的CronJob对象个数。较大的数值意味着对CronJob的响应越及时，不过也意味着更多的CPU（和网络）占用。                                                 | 默认：5                                                                                                                                                                                                                                          |
  | Namespace             | concurrent-namespace-syncs                                                                                       | 可以并发同步的Namespace对象个数。较大的数值意味着对Namespace的响应越及时，不过也意味着更多的CPU（和网络）占用。                                          | 默认：10                                                                                                                                                                                                                                          |
  | Replicaset            | concurrent-replicaset-syncs                                                                                      | 可以并发同步的ReplicaSet个数。数值越大，副本管理的响应速度越快，同时也意味着更多的CPU（和网络）占用。                                                    | - 集群规格为1000节点以下时，默认值5  - 集群规格为1000节点及以上时，默认值10   集群规格变更时如果当前值低于集群规格默认取值时，将自动联动上调。       |
  | ResourceQuota         | concurrent-resource-quota-syncs                                                                                    | 可以并发同步的ResourceQuota对象个数。数值越大，配额管理的响应速度越快，不过对CPU（和网络）的占用也越高。                                                 | 默认：5                                                                                                                                                                                                                                          |
  | Service              | concurrent-service-syncs                                                                                         | 可以并发同步的Service对象个数。数值越大，服务管理的响应速度越快，不过对CPU（和网络）的占用也越高。                                                        | 默认：10                                                                                                                                                                                                                                       |
  | ServiceAccountToken | concurrent-serviceaccount-token-syncs                                                                           | 可以并发同步的服务账号令牌对象个数。数值越大，令牌生成的速度越快，不过对CPU（和网络）的占用也越高。                                                            | 默认：5                                                                                                                                                                                                                                          |
  | TTLAfterFinished     | concurrent-ttl-after-finished-syncs                                                                               | 可以并发同步的ttl-after-finished-controller线程个数。                                                                     | 默认：5                                                                                                                                                                                                                                        |
  | RC                      | concurrent_rc_syncs（v1.19及以下版本集群中使用） concurrent-rc-syncs（v1.21至v1.25.3-r0版本集群中使用） | 可以并发同步的副本控制器对象个数。数值越大，副本管理操作越快，不过对CPU（和网络）的占用也越高。 在v1.25.3-r0及以上版本的集群中，该参数已弃用。 | 默认：5                                                                                                                                                                                                                                           |
  | HPA并发处理数               | concurrent-horizontal-pod-autoscaler-syncs                                                                         | 允许并发执行的HPA弹性伸缩数量。 数值越大，HPA弹性伸缩响应越快，不过对CPU（和网络）的占用也越高。 该参数仅v1.27及以上版本集群支持。         | 默认：5 取值范围为1-50                                                                                                                                                                                                |
     
  
 
#### 节点生命周期控制器（node-lifecycle-controller）配置
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
v1.23.14-r0、v1.25.9-r0、v1.27.6-r0、v1.28.4-r0及以上版本的集群支持该参数。
表6节点生命周期控制器配置参数说明 
| 名称          | 参数                            | 说明                                                                                                                                                                                                                                                                                       | 取值              |
|:---|:---|:---|:---|
| 可用区亚健康阈值     | unhealthy-zone-threshold      | 当可用区故障节点规模达到指定比例时被认定为不健康，针对不健康的区域，故障节点业务的迁移频率会降级，避免规模故障场景下大规模迁移操作产生更坏的影响。 说明： 比例配置过大可能导致区域在规模故障场景下仍尝试执行大规模迁移动作，导致集群过载等风险。                                                                                                                            | 默认：0.55          |
| 节点迁移速率      | node-eviction-rate            | 当某区域健康时，在节点故障的情况下每秒删除Pod的节点数。该值默认设置为0.1，代表每10秒钟内至多从一个节点驱逐Pod。 说明： 结合集群规模合理设置，建议按比例折算后每批迁移Pod数量不超过300。 迁移速率设置过大可能引入集群过载风险，同时每批迁移重调度的Pod过多，大量Pod无法及时调度，影响整体故障恢复时间。                                                         | 默认：0.1  |
| 次级节点迁移速率   | secondary-node-eviction-rate | 当某区域不健康时，在节点故障的情况下每秒删除Pod的节点数。该值默认设置为0.01，代表每100秒钟内至多从一个节点驱逐Pod。 说明： 配合node-eviction-rate设置，一般建议设置为node-eviction-rate的十分之一。 区域亚健康场景迁移速率设置过大无实际意义，且可能引入集群过载风险。                                                            | 默认：0.01       |
| 大规模集群大小阈值 | large-cluster-size-threshold  | 集群内节点数量大于此参数时，集群被判断为大规模集群。 配置建议：在拥有大量节点的集群中，适当增加此阈值可以帮助提高控制器的性能和响应速度。对于规模较小的集群，保持默认值即可。在调整此参数时，建议先在测试环境中验证其对性能的影响，然后再在生产环境中应用。 说明： 被视为大型集群时，kube-controller-manager 会进行特定配置调整。这些配置用来优化大规模集群性能。因此阈值如果过低，规模小的集群用上的大集群的配置，反而降低性能。 | 默认：50          |
   
#### 负载弹性伸缩控制器（horizontal-pod-autoscaler-controller）配置
表7负载弹性伸缩控制器配置参数说明 
| 名称           | 参数                                                  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 取值      |
|:---|:---|:---|:---|
| Pod水平伸缩同步的周期 | horizontal-pod-autoscaler-sync-period              | 水平弹性伸缩控制器同步Pod数量的周期。配置越小弹性伸缩器反应越及时，同时CPU负载也越高。 **配置建议**：建议保持默认值。 **配置风险**：周期配置过长可能导致控制器处理响应慢，超出上限（153,722,867分钟）甚至会导致系统组件启动异常；周期配置过短则会对集群管控面造成压力，产生过载风险。                                                                                                                                                                                                                                                                        | 默认：15s    |
| Pod水平伸缩容忍度   | horizontal-pod-autoscaler-tolerance                  | 该配置影响控制器对伸缩策略相关指标反应的灵敏程度，当配置为0时，指标达到策略阈值时立即触发弹性。 **配置建议**：请结合业务资源占用行为特点配置。如业务资源占用随时间的"突刺"特征明显，建议保留一定的容忍度值，避免因业务短时资源占用飚高导致预期之外的弹性行为。                                                                                                                                                                                                                                                                                                                                         | 默认：0.1   |
| HPA CPU初始化期间  | horizontal-pod-autoscaler-cpu-initialization-period | 该期间内，只有Pod当前处于就绪状态并完成了最近一次指标采集，其指标才会被HPA统计使用。设置该字段可以在Pod启动初期过滤掉不稳定的CPU使用数据，进而防止基于瞬时峰值做出错误的扩缩容决策。 **配置建议**：如果您观察到Pods在启动阶段的CPU使用率波动导致HPA做出错误的扩展决策，可以适当增加此值。 **配置风险**：设置值过低可能导致基于CPU峰值做出过度反应的扩容；而设置的过高则可能在实际需要扩容时造成延迟反应。 **适用集群版本**：v1.23.16-r0、v1.25.11-r0、v1.27.8-r0、v1.28.6-r0、v1.29.2-r0及以上版本的集群支持该参数。                                                                             | 默认：5分钟   |
| HPA 初始就绪状态延迟  | horizontal-pod-autoscaler-initial-readiness-delay | 在HPA的CPU初始化期间后，该就绪延迟期间允许HPA以一个较宽松的标准筛选CPU度量数据。在这段时间内，即使Pod的就绪状态有所变化，HPA也会统计使用它们的CPU使用数据进行扩缩容。该字段有助于在Pod状态频繁变化时，确保CPU使用数据被持续追踪。 **配置建议**：如果Pods在启动后的就绪状态发生波动，并且您需要避免此波动导致HPA的误判，可以适当增加此值。 **配置风险**：参数值设置过低可能会在Pod刚进入就绪状态时，因CPU数据波动导致不恰当的扩容行为；而设置过高则可能导致在需要快速反应时HPA无法立即做出决策。 **适用集群版本**：v1.23.16-r0、v1.25.11-r0、v1.27.8-r0、v1.28.6-r0、v1.29.2-r0及以上版本的集群支持该参数。                            | 默认：30s    |
| HPA 缩容稳定窗口      | horizontal-pod-autoscaler-downscale-stabilization    | 在稳定窗口时间内，HPA控制器会持续观察历史缩容推荐值并选择该时间段内最大的推荐副本数。设置该参数可以在负载下降阶段过滤掉短暂的指标波动，避免因此导致Pod数量频繁变化。 **配置建议**：如果观察到因短期负载下降导致HPA 频繁缩容后又快速扩容的抖动现象，可以适当增加此值来提升系统稳定性。 **配置风险**：设置过低可能导致对短期负载下降的过度反应，造成Pod频繁创建销毁；而设置得过高则可能在真实负载降低时资源释放延迟，造成资源浪费，超出上限（153,722,867分钟）会导致HPA控制器启动异常。当HPA控制器重启时，缩容稳定窗口会重新开始计时。 **适用集群版本**：v1.28.15-r60、v1.29.15-r20、v1.30.14-r20、v1.31.10-r20、v1.32.6-r20、v1.33.5-r10及以上版本的集群支持该参数。 | 默认：5分0秒 |
   
#### Pod回收控制器（pod-garbage-collector-controller）配置
表8Pod回收控制器配置参数说明 
| 名称               | 参数                            | 说明                                                                                                                                            | 取值                                                      |
|:---|:---|:---|:---|
| 终止状态Pod触发回收的数量阈值 | terminated-pod-gc-threshold | 在Pod GC开始删除终止状态（terminated）的Pod之前，系统允许存在终止状态的Pod数量。 说明： 请合理设置该参数，配置过大时，集群中可能存在大量终止状态的Pod，影响相关List查询请求性能，产生集群过载风险。 | 默认：1000 取值范围为0-100000 |
   
#### 挂载卸载控制器（attach-detach-controller）配置
表9挂载卸载控制器配置参数说明 
| 名称         | 参数                            | 说明                                                                                                                                                                                                                                                                    | 取值     |
|:---|:---|:---|:---|
| 禁用超时后的强制卸卷 | disable-force-detach-on-timeout | 在默认情况下，如果节点失联超时（默认6分钟），挂载卸载控制器（attach-detach-controller）会强制将存储卷从该节点解绑。开启此参数后，即使节点处于unhealthy状态，挂载卸载控制器（attach-detach-controller）也不会发起强制卸载动作。 说明： 开启后系统会变得非常保守，当节点故障时，K8s为了保护数据一致性，不会自动把磁盘迁移到新节点，Pod会一直卡在Terminating状态，新的Pod也无法在其他节点挂载该磁盘。 | 默认：关闭 |
   
#### 资源配额控制器（resource-quota-controller）配置
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
在高并发场景下（如批量创建Pod），配额管理机制可能导致部分请求因冲突而失败，除非必要不建议启用该功能。如启用，请确保请求客户端具备重试机制。
表10资源配额控制器配置参数说明 
| 名称         | 参数                      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                              | 取值           |
|:---|:---|:---|:---|
| 启用资源配额管理 | enable-resource-quota | 通过配额管理功能，用户可以对命名空间或相关维度下的各类负载（Deployment、Pod等）数量以及资源（CPU、Memory）上限进行控制。命名空间通过ResourceQuota对象进行配额限制。 - 关闭（false）：不自动创建ResourceQuota对象。  - 开启（true）：自动创建ResourceQuota对象。ResourceQuota的默认取值请参见[设置资源配额及限制](https://support.huaweicloud.com/usermanual-cce/cce_10_0287.html)。   | 默认：关闭（false） |
   
