阿里雲容器計算服務ACS使用容器智能營運平台提供了Pod診斷功能,協助您診斷異常的Pod資訊。本文介紹Pod診斷的檢查項以及對應的修複方案。
容器智能營運平台構建了基於專家經驗的故障診斷系統,並基于海量資料訓練了AI智能故障診斷模型。Pod診斷融合了基於專家經驗和AI智能診斷兩種診斷模式,進一步深入定位問題根因。Pod診斷套件括診斷檢查項和診斷根因。
-
診斷檢查項:包括Pod檢查、ClusterComponent檢查。
-
診斷根因:包括定位到的根因以及修複建議。Pod診斷會收集部分叢集資訊並識別其中的異常,然後根據識別到的異常進行深入的異常診斷。
使用故障診斷功能時,系統將在您的叢集執行資料擷取程式並收集檢查結果。採集的資訊包括系統版本,以及負載、容器組件等運行狀態及系統日誌中嚴重錯誤資訊。資料擷取程式不會採集您的商務資訊及敏感性資料。
診斷支援的異常情境
Pod診斷覆蓋的典型異常情境和AI智能診斷支援情境如下表所示。
|
類別 |
支援的異常情境 |
|
Pod診斷 |
Pod未被調度器處理。 |
|
Pod不滿足調度約束無法被調度。 |
|
|
Pod已調度但未被kubelet處理。 |
|
|
Pod等待儲存卷就緒。 |
|
|
Pod被驅逐。 |
|
|
Pod的Sandbox容器建立失敗。 |
|
|
Pod長期處於terminating狀態。 |
|
|
Pod中容器發生OOM異常。 |
|
|
Pod中容器異常退出。 |
|
|
Pod中容器處於CrashLoopBackOff狀態。 |
|
|
Pod中容器NotReady。 |
|
|
Pod拉取鏡像出錯。 |
|
|
Pod拉取鏡像逾時。 |
|
|
AI智能診斷 |
Pod狀態異常。 |
|
Pod發生OOM異常。 |
|
|
Pod容器異常退出。 |
|
|
Pod ConfigMap或Secret配置異常。 |
|
|
Pod健全狀態檢查失敗。 |
|
|
Pod PVC配置異常。 |
|
|
Pod鏡像拉取異常。 |
診斷流程
叢集診斷收集部分叢集資訊並識別其中的異常,然後根據識別到的異常進行深入的異常診斷。診斷融合了基於專家經驗和AI智能診斷兩種診斷模式,進一步深入定位問題根因。發起診斷後,診斷會按照異常識別、資料擷取、檢查項評估以及根因分析四個階段,完成後給出診斷結果。

-
異常識別:採集基本資料,例如Pod狀態、叢集Event事件流等,並快速分析當前的異常。
-
資料擷取:根據異常識別結果採集和診斷上下文相關的資料。
-
檢查項評估:根據採集到的資料,判斷關鍵計量是否正常。
-
根因分析:根據採集的資料和檢查項,部分問題可自動分析導致問題的原因。
診斷結果
診斷結果包括根因結果與檢查項。根因診斷結果部分包括识别到的异常、异常根因和修复建议。檢查項則按不同的類別對可能引起異常的點進行檢查,覆蓋根因未包括的部分,並對異常原因進一步補充。
根據叢集配置,具體檢查項可能稍有不同。實際結果請以診斷頁面結果為準。
Pod診斷對應的檢查項
|
診斷項分組 |
說明 |
|
檢查Pod常見問題,檢查項包括Pod狀態和鏡像拉取等。 |
|
|
檢查叢集常見問題,檢查項包括API Service可用性和DNS可用性等。 |
Pod
|
檢查項名稱 |
檢查項說明 |
修複方案 |
|
Pod容器重啟次數統計 |
統計Pod中容器重啟次數。 |
請檢查Pod狀態及日誌。更多資訊,請參見Pod異常問題排查。 |
|
Pod容器鏡像下載阻塞情況 |
檢查Pod同節點是否有其他Pod的容器鏡像下載被阻塞。 |
請檢查Pod狀態及日誌。更多資訊,請參見Pod異常問題排查。 |
|
Pod調度狀態 |
檢查Pod是否正常調度。 |
請檢查Pod狀態及日誌。更多資訊,請參見Pod異常問題排查。 |
ClusterComponent
|
檢查項名稱 |
檢查項說明 |
修複方案 |
|
叢集APIService可用狀態 |
檢查叢集APIService是否可用。 |
請嘗試通過命令 |
|
DNS服務後端服務端點 |
檢查叢集DNS服務Endpoints數。 |
請檢查CoreDNS Pod運行狀態和作業記錄。 |
|
DNS服務ClusterIP |
檢查叢集DNS服務的Cluster IP是否正常分配,叢集DNS服務異常會造成叢集功能異常,影響業務。 |
請檢查CoreDNS Pod運行狀態和作業記錄。 |