排解 GKE 中的可擴充性問題

etcd 資料庫用量過高可能會導致叢集不穩定和資源短缺,進而妨礙 Google Kubernetes Engine (GKE) 叢集有效擴充。

請參閱這份文件,瞭解如何找出 etcd 使用量即將達到上限的叢集,並取得釋出空間的建議,確保叢集維持穩定。

這項資訊對負責維護 GKE 叢集健康狀態和可擴充性的平台管理員和營運人員來說非常重要。如要進一步瞭解我們在 Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE 使用者角色和工作」。

本文說明如何排解與 etcd 使用率過高相關的叢集穩定性問題。如果遇到其他可擴充性問題,下列文件或許有幫助:

找出 etcd 用量即將達到上限的叢集

如果 etcd 用量即將達到上限,GKE 會提供深入分析和建議。您可以透過下列方式查看這些洞察資料和建議:

  • 使用 Google Cloud 控制台。前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。在特定叢集的「通知」欄中,查看「釋出空間可降低叢集不穩定的風險」建議。
  • 使用 gcloud CLI 或 Recommender API 時,請指定 ETCD_DB_USAGE_APPROACHING_LIMIT 推薦子類型。

    如要查詢這項建議,請執行下列指令:

    gcloud recommender recommendations list \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=yaml \
        --filter="recommenderSubtype:ETCD_DB_USAGE_APPROACHING_LIMIT"
    

如要實作這項建議,請從 etcd 移除所有不必要的資料來釋出空間,這可能包括刪除舊資源或將大型物件移出 etcd。詳情請參閱「規劃大型 GKE 叢集」。

找出每個物件類型的儲存空間用量即將達到上限的叢集

如果每種 etcd 物件的總大小即將達到上限,GKE 會提供深入分析和建議。您可以透過下列方式查看這些洞察資料和建議:

  • 使用 Google Cloud 控制台。前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。在特定叢集的「通知」欄中,查看「縮減資源類型大小」建議。
  • 使用 gcloud CLI 或 Recommender API 時,請指定 APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT 推薦子類型。

    如要查詢這項建議,請執行下列指令:

    gcloud recommender recommendations list \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=yaml \
        --filter="recommenderSubtype:APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT"
    

    如要決定要移除哪些物件,可以使用 kubectl 列出這些物件。舉例來說,如果 ConfigMap 即將達到儲存空間上限,下列指令會輸出所有命名空間中的所有 ConfigMap,協助您找出可刪除的項目:

    kubectl get configmaps --all-namespaces > new_file.txt
    

如要實作這項建議並釋出空間,請從儲存空間移除指定類型的不必要物件。這可能包括刪除舊有資源,或是將大型物件移出儲存空間。詳情請參閱「規劃大型 GKE 叢集」。

後續步驟