为了满足生产环境调整控制面参数的需求,容器服务 Kubernetes 版提供控制面参数自定义功能。您可以根据需要修改Kube API Server、Kube Controller Manager(KCM)、Cloud Controller Manager(CCM)、Kube Scheduler等核心托管组件的参数。本文介绍如何在容器服务管理控制台自定义控制面参数。
注意事项
为了保证控制面的稳定性,当前仅ACK集群Pro版、ACK Serverless集群Pro版、ACK Edge集群Pro版、ACK灵骏集群支持自定义部分控制面核心组件参数。支持自定义的参数,请参见默认参数列表,具体请以控制台界面为准。
修改参数之后,控制面会重启,建议您选择业务低谷期操作。
修改参数之后,您输入的参数会覆盖原集群提供的默认参数,从而导致默认参数失效。自定义参数配置时,请确保您输入的参数正确且完整,错误参数可能会导致控制面启动失败。关于参数设置的详细信息,请根据集群版本参见Kubernetes官方文档kube-apiserver、kube-controller-manager、kube-scheduler。
自定义控制面组件参数
控制面组件参数修改的步骤类似。下文以修改Kube API Server组件为例,说明如何修改组件参数。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在核心组件区域,找到目标组件,然后单击卡片右下方的配置。
在Kube API Server 参数配置对话框中,输入您的自定义参数并确保参数完整且正确,然后单击确定。
默认参数列表
当您进入组件的参数配置操作之后,组件原有的默认参数会被覆盖。您可以按需选择集群类型,参考以下表格将参数恢复为默认值。
参数在各个版本的默认值相同,集群版本支持自定义的组件版本请以控制台界面为准。
ACK集群Pro版
组件名 | 参数 | 参数说明 |
Kube API Server | EnableAdmissionPlugins | 默认为空。 |
ServiceNodePortRange | 可选范围10000~65535,默认为空。 重要 您在修改NodePort端口范围时必须十分谨慎。务必保证NodePort端口范围与集群节点上Linux内核提供的 | |
requestTimeout | 默认为空。 | |
defaultNotReadyTolerationSeconds | 默认为空。 | |
defaultUnreachableTolerationSeconds | 默认为空。 | |
maxMutatingRequestsInflight | 可选范围1~1000,默认为空。 | |
maxRequestsInflight | 可选范围1~3000,默认为空。 | |
featureGates | 可选参数包括 说明 支持在1.18及以上集群中使用 | |
oidcIssuerURL | 默认为空。 支持1.18及以上集群。 重要
| |
oidcClientId | 默认为空。 支持1.18及以上集群。 | |
oidcUsernameClaim | 默认值为 | |
oidcUsernamePrefix | 默认为空。 支持1.18及以上集群。 | |
oidcGroupsPrefix | 默认为空。 支持1.18及以上集群。 | |
oidcGroupsClaim | 默认为空。支持1.18及以上集群。 | |
oidcRequiredClaim | 默认为空。支持1.18及以上集群。 | |
oidcCAContent | 默认为空。支持1.18及以上集群。 | |
hostAliases | 默认为空。支持1.26及以上集群。 | |
Kube Controller Manager | horizontalPodAutoscalerSyncPeriod | 默认为空。 |
horizontalPodAutoscalerTolerance | 默认为空。 | |
concurrentTTLAfterFinishedSyncs | 默认为空。 | |
concurrentHorizontalPodAutoscalerSyncs | 默认为空。支持1.26及以上集群。 | |
largeClusterSizeThreshold | 默认为空。 | |
unhealthyZoneThreshold | 默认为空。 | |
secondaryNodeEvictionRate | 默认为空。 | |
nodeEvictionRate | 默认为空。 | |
terminatedPodGCThreshold | 默认为空。 | |
kubeAPIQPS | 可选范围1~1000,默认为空。 | |
kubeAPIBurst | 可选范围1~1000,默认为空。 | |
featureGates | 可选参数为 | |
Cloud Controller Manager | routeTableIDs | 默认为空。如果VPC内有多个路由表,可以手动设置CCM支持多个路由表ID,以半角逗号(,)分隔,例如 |
Kube Scheduler | 涉及多个 | 关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数。 |
ACK Serverless集群Pro版
组件名 | 参数 | 参数说明 |
Kube API Server | EnableAdmissionPlugins | 默认为空。 |
requestTimeout | 默认为空。 | |
defaultNotReadyTolerationSeconds | 默认为空。 | |
defaultUnreachableTolerationSeconds | 默认为空。 | |
maxMutatingRequestsInflight | 可选范围1~1000,默认为空。 | |
maxRequestsInflight | 可选范围1~3000,默认为空。 | |
featureGates | 可选参数包括 说明 支持在1.18及以上集群中使用 | |
oidcIssuerURL | 默认为空。 支持1.18及以上集群。 | |
oidcClientId | 默认为空。 支持1.18及以上集群。 | |
oidcUsernameClaim | 默认值为 | |
oidcUsernamePrefix | 默认为空。 支持1.18及以上集群。 | |
oidcGroupsPrefix | 默认为空。 支持1.18及以上集群。 | |
oidcGroupsClaim | 默认为空。 支持1.18及以上集群。 | |
oidcRequiredClaim | 默认为空。 支持1.18及以上集群。 | |
oidcCAContent | 默认为空。 支持1.18及以上集群。 | |
Kube Controller Manager | horizontalPodAutoscalerSyncPeriod | 默认为空。 |
horizontalPodAutoscalerTolerance | 默认为空。 | |
concurrentTTLAfterFinishedSyncs | 默认为空。 | |
kubeAPIQPS | 可选范围1~1000,默认为空。 | |
kubeAPIBurst | 可选范围1~1000,默认为空。 | |
featureGates | 可选参数为 | |
Kube Scheduler | 涉及多个。目前白名单开放中。 | 关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数。 |
ACK Edge集群Pro版
组件名 | 参数 | 参数说明 |
Kube API Server | EnableAdmissionPlugins | 默认为空。 |
ServiceNodePortRange | 可选范围10000~65535,默认为空。 重要 您在修改NodePort端口范围时必须十分谨慎。务必保证NodePort端口范围与集群节点上Linux内核提供的 | |
requestTimeout | 默认为空。 | |
defaultNotReadyTolerationSeconds | 默认为空。 | |
defaultUnreachableTolerationSeconds | 默认为空。 | |
maxMutatingRequestsInflight | 可选范围1~1000,默认为空。 | |
maxRequestsInflight | 可选范围1~3000,默认为空。 | |
featureGates | 可选参数包括 说明 支持在1.18及以上集群中使用 | |
Kube Controller Manager | horizontalPodAutoscalerSyncPeriod | 默认为空。 |
concurrentTTLAfterFinishedSyncs | 默认为空。 | |
largeClusterSizeThreshold | 默认为空。 | |
unhealthyZoneThreshold | 默认为空。 | |
secondaryNodeEvictionRate | 默认为空。 | |
nodeEvictionRate | 默认为空。 | |
podEvictionTimeout | 默认为空。 | |
kubeAPIQPS | 可选范围1~1000,默认为空。 | |
kubeAPIBurst | 可选范围1~1000,默认为空。 | |
featureGates | 可选参数为 | |
Cloud Controller Manager | routeTableIDs | 默认为空。如果VPC内有多个路由表,可以手动设置CCM支持多个路由表ID,以半角逗号(,)分隔,例如 |
Kube Scheduler | 涉及多个 | 关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数。 |
ACK灵骏集群
组件名 | 参数 | 参数说明 |
Kube API Server | EnableAdmissionPlugins | 默认为空。 |
ServiceNodePortRange | 可选范围10000~65535,默认为空。 重要 您在修改NodePort端口范围时必须十分谨慎。务必保证NodePort端口范围与集群节点上Linux内核提供的 | |
requestTimeout | 默认为空。 | |
defaultNotReadyTolerationSeconds | 默认为空。 | |
defaultUnreachableTolerationSeconds | 默认为空。 | |
maxMutatingRequestsInflight | 可选范围1~1000,默认为空。 | |
maxRequestsInflight | 可选范围1~3000,默认为空。 | |
featureGates | 可选参数包括 说明 支持在1.18及以上集群中使用 | |
oidcIssuerURL | 默认为空。 支持1.18及以上集群。 | |
oidcClientId | 默认为空。 支持1.18及以上集群。 | |
oidcUsernameClaim | 默认值为 | |
oidcUsernamePrefix | 默认为空。 支持1.18及以上集群。 | |
oidcGroupsPrefix | 默认为空。 支持1.18及以上集群。 | |
oidcGroupsClaim | 默认为空。 支持1.18及以上集群。 | |
oidcRequiredClaim | 默认为空。 支持1.18及以上集群。 | |
oidcCAContent | 默认为空。 支持1.18及以上集群。 | |
Kube Controller Manager | horizontalPodAutoscalerSyncPeriod | 默认为空。 |
horizontalPodAutoscalerTolerance | 默认为空。 | |
concurrentTTLAfterFinishedSyncs | 默认为空。 | |
largeClusterSizeThreshold | 默认为空。 | |
unhealthyZoneThreshold | 默认为空。 | |
secondaryNodeEvictionRate | 默认为空。 | |
nodeEvictionRate | 默认为空。 | |
podEvictionTimeout | 默认为空。 | |
kubeAPIQPS | 可选范围1~1000,默认为空。 | |
kubeAPIBurst | 可选范围1~1000,默认为空。 | |
featureGates | 可选参数为 | |
Cloud Controller Manager | routeTableIDs | 默认为空。如果VPC内有多个路由表,可以手动设置CCM支持多个路由表ID,以半角逗号(,)分隔,例如 |
Kube Scheduler | 涉及多个 | 关于通过Kube Scheduler自定义参数,请参见使用调度器自定义参数。 |