需要快速檢查 Google Kubernetes Engine (GKE) 叢集和工作負載的健康狀態時,您可能不知道該從何著手。在 Google Cloud 控制台中,您可以查看叢集和工作負載的健康狀態,快速評估環境狀態。叢集健康狀態是指節點和網路等底層 GKE 基礎架構的健康狀態,而工作負載健康狀態是指叢集上執行的應用程式狀態和效能。
請參閱本頁面,瞭解如何瀏覽 Kubernetes 叢集和工作負載頁面,取得高階總覽、找出潛在問題 (例如資源壓力過大的節點或失敗的 Pod),並深入瞭解特定資源的詳細資料。
這項資訊對負責維護叢集穩定性,且需要快速評估健康狀態和檢查資源的平台管理員和運算子來說非常重要。此外,應用程式開發人員也必須瞭解部署作業的執行階段狀態,並調查失敗原因。如要進一步瞭解我們在 Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE 使用者角色和工作」。
為全面掌握應用程式的健康狀態, Google Cloud 管理中心也提供強大的記錄和監控工具,協助您調查過去的失敗原因,並主動防範日後發生類似問題。如要進一步瞭解這些工具,請參閱「使用 Cloud Logging 進行歷史資料分析」和「使用 Cloud Monitoring 執行主動式監控」。
找出叢集問題
「Kubernetes clusters」(Kubernetes 叢集) 頁面會顯示叢集健康狀態總覽。如要找出叢集問題,請從這個頁面開始。
如要開始使用,請在 Google Cloud 控制台中前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。
以下列舉幾個例子,說明如何使用這個頁面排解問題:
- 如需改善叢集健康狀態、升級策略和成本最佳化的建議,請按一下「查看建議」。
- 如要找出不良叢集,請查看「狀態」欄。如果叢集沒有綠色勾號,表示需要處理。
- 如要查看潛在問題,請檢查「通知」欄。按一下任何通知訊息即可查看詳細資訊。
調查特定叢集
發現叢集有問題後,請前往叢集的「詳細資料」頁面,查看深入資訊,協助您排解叢集問題並瞭解叢集設定。
如要前往叢集的「詳細資料」頁面,請按照下列步驟操作:
前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。
查看「名稱」欄,然後按一下要調查的叢集名稱。
以下舉例說明如何使用叢集「詳細資料」頁面排解叢集問題:
如要進行一般健康檢查,請嘗試下列選項:
如要查看叢集層級的資訊主頁,請前往「Observability」(可觀測性) 分頁標籤。根據預設,GKE 會在您建立叢集時啟用 Cloud Monitoring。啟用 Cloud Monitoring 後,GKE 會自動設定這個頁面上的資訊主頁。以下是幾個可能對疑難排解最有幫助的檢視畫面:
- 總覽:查看叢集健康狀態、資源使用率和重要事件的概略摘要。這個資訊主頁可協助您快速評估叢集的整體狀態,並找出潛在問題。
- 流量指標:查看以節點為基礎的網路指標,深入瞭解 Kubernetes 工作負載之間的流量。
- 工作負載狀態:查看 Deployment、Pod 和容器的狀態。找出失敗或健康狀態不良的執行個體,並偵測資源限制。
控制層:查看控制層的健康狀態和效能。 您可以在這個資訊主頁中監控
kube-apiserver
和etcd
等元件的重要指標、找出效能瓶頸,以及偵測元件故障。
如要查看最近的應用程式錯誤,請前往「應用程式錯誤」分頁。這個分頁的資訊會顯示錯誤發生次數、首次出現時間和上次發生時間,有助於您排定錯誤解決優先順序。
如要進一步調查錯誤,請按一下錯誤訊息,查看詳細錯誤報告,包括相關記錄的連結。
如果在最近升級或變更後排解問題,請查看叢集「詳細資料」分頁中的「叢集基本資訊」部分。確認「版本」欄位中列出的版本是否符合預期。如要進一步調查,請按一下「升級」部分中的「顯示升級記錄」。
如果您使用的是標準叢集,且 Pod 停滯在
Pending
狀態,或您懷疑節點過度負載,請檢查「節點」分頁。Autopilot 叢集無法使用「節點」分頁,因為 GKE 會為您管理節點。- 在「節點集區」部分,確認自動調整功能已正確設定,且機器類型適合工作負載。
- 在「節點」部分中,找出狀態不是
Ready
的節點。NotReady
狀態表示節點本身有問題,例如資源壓力或 kubelet 問題 (kubelet 是在每個節點上執行的代理程式,用於管理容器)。
找出工作負載問題
如果懷疑特定應用程式有問題 (例如部署失敗),請前往 Google Cloud 控制台的「Workloads」頁面。這個頁面會集中顯示叢集內執行的所有應用程式。
如要開始使用,請前往 Google Cloud 控制台的「Workloads」(工作負載) 頁面。
以下列舉幾個例子,說明如何使用這個頁面排解問題:
- 如要找出不正常的作業負載,請查看「狀態」欄。如果工作負載沒有綠色勾號,就表示需要處理。
- 如果應用程式沒有回應,請查看「Pod」欄。舉例來說,如果狀態為 1/3,表示只有一個應用程式副本正在執行,這代表有問題。
調查特定工作負載
從總覽中找出有問題的工作負載後,請探索工作負載的「詳細資料」頁面,開始找出根本原因。
如要前往工作負載的「詳細資料」頁面,請按照下列步驟操作:
前往「Workloads」(工作負載) 頁面。
查看「Name」(名稱) 欄,然後點選要調查的工作負載名稱。
以下舉例說明如何使用工作負載「詳細資料」頁面排解工作負載問題:
如要檢查工作負載的設定,請使用工作負載的「總覽」和「詳細資料」分頁。您可以利用這項資訊驗證事件,例如是否已部署正確的容器映像檔標記,或檢查工作負載的資源要求和限制。
如要找出導致當機的特定 Pod 名稱,請前往「Managed Pods」部分。您可能需要這項資訊才能執行
kubectl
指令。這個部分會列出工作負載控管的所有 Pod,以及這些 Pod 的狀態。如要查看工作負載的近期變更記錄,請前往「修訂版本記錄」分頁。如果您發現新部署作業完成後出現效能問題,請參閱本節內容,瞭解目前啟用的修訂版本。然後比較目前修訂版本與先前的設定,找出問題來源。如果沒有看到這個分頁,表示工作負載的類型不使用修訂版本,或是尚未更新。
如果部署作業似乎失敗,請前往「Events」(事件) 分頁。這個頁面通常是資訊價值最高的來源,因為會顯示 Kubernetes 層級的事件。
如要查看應用程式的記錄檔,請按一下「記錄」分頁標籤。本頁面可協助您瞭解叢集內發生的情況。這裡會顯示錯誤訊息和堆疊追蹤記錄,可協助您診斷問題。
如要確認部署的內容,請查看「YAML」YAML分頁。這個頁面會顯示叢集上工作負載的即時 YAML 資訊清單。這項資訊有助於找出與來源控制資訊清單的差異。如果您正在查看單一 Pod 的 YAML 資訊清單,這個分頁也會顯示 Pod 的狀態,提供 Pod 層級的失敗深入分析。
後續步驟
請參閱本系列教學課程的下一頁,瞭解如何使用
kubectl
調查叢集狀態。請參閱疑難排解情境示例,瞭解如何應用這些概念。
如需解決特定問題的建議,請參閱 GKE 的疑難排解指南。
如果無法在說明文件中找到問題的解決方法,請參閱「取得支援」一文,尋求進一步的協助, 包括下列主題的建議:
- 與 Cloud 客戶服務聯絡,建立支援案件。
- 在 StackOverflow 上提問,並使用
google-kubernetes-engine
標記搜尋類似問題,向社群尋求支援。你也可以加入#kubernetes-engine
Slack 頻道,取得更多社群支援。 - 使用公開問題追蹤工具回報錯誤或提出功能要求。