為了滿足生產環境調整控制面參數的需求,容器服務 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及以上集群。 | |
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自定義參數,請參見使用調度器自定義參數。 |
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自定義參數,請參見使用調度器自定義參數。 |