為了滿足生產環境調整控制面參數的需求,Container Service for Kubernetes提供控制面參數自訂功能。您可以根據需要修改Kube API Server、Kube Controller Manager(KCM)、Cloud Controller Manager(CCM)、Kube Scheduler等核心託管組件的參數。本文介紹如何在Container Service管理主控台自訂控制面參數。
注意事項
為了保證控制面的穩定性,當前僅ACK叢集Pro版、ACK Serverless叢集Pro版、ACK Edge叢集Pro版、ACK靈駿叢集支援自訂部分控制面核心組件參數。支援自訂的參數,請參見預設參數列表,具體請以控制台介面為準。
修改參數之後,控制面會重啟,建議您選擇業務低穀期操作。
修改參數之後,您輸入的參數會覆蓋原叢集提供的預設參數,從而導致預設參數失效。自訂參數配置時,請確保您輸入的參數正確且完整,錯誤參數可能會導致控制面啟動失敗。關於參數設定的詳細資料,請根據叢集版本參見Kubernetes官方文檔kube-apiserver、kube-controller-manager、kube-scheduler。
自訂控制面組件參數
控制面組件參數修改的步驟類似。下文以修改Kube API Server組件為例,說明如何修改組件參數。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在核心組件地區,找到目標組件,然後單擊卡片右下方的配置。
在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自訂參數,請參見使用調度器自訂參數。 |