全部產品
Search
文件中心

Container Compute Service:Pod診斷

更新時間:Dec 11, 2024

阿里雲容器計算服務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智能診斷兩種診斷模式,進一步深入定位問題根因。發起診斷後,診斷會按照異常識別、資料擷取、檢查項評估以及根因分析四個階段,完成後給出診斷結果。

image.png

  • 異常識別:採集基本資料,例如Pod狀態、叢集Event事件流等,並快速分析當前的異常。

  • 資料擷取:根據異常識別結果採集和診斷上下文相關的資料。

  • 檢查項評估:根據採集到的資料,判斷關鍵計量是否正常。

  • 根因分析:根據採集的資料和檢查項,部分問題可自動分析導致問題的原因。

診斷結果

診斷結果包括根因結果與檢查項。根因診斷結果部分包括識別到的異常異常根因修複建議。檢查項則按不同的類別對可能引起異常的點進行檢查,覆蓋根因未包括的部分,並對異常原因進一步補充。

說明

根據叢集配置,具體檢查項可能稍有不同。實際結果請以診斷頁面結果為準。

Pod診斷對應的檢查項

診斷項分組

說明

Pod

檢查Pod常見問題,檢查項包括Pod狀態和鏡像拉取等。

ClusterComponent

檢查叢集常見問題,檢查項包括API Service可用性和DNS可用性等。

Pod

檢查項名稱

檢查項說明

修複方案

Pod容器重啟次數統計

統計Pod中容器重啟次數。

請檢查Pod狀態及日誌。更多資訊,請參見Pod異常問題排查

Pod容器鏡像下載阻塞情況

檢查Pod同節點是否有其他Pod的容器鏡像下載被阻塞。

請檢查Pod狀態及日誌。更多資訊,請參見Pod異常問題排查

Pod調度狀態

檢查Pod是否正常調度。

請檢查Pod狀態及日誌。更多資訊,請參見Pod異常問題排查

ClusterComponent

檢查項名稱

檢查項說明

修複方案

叢集APIService可用狀態

檢查叢集APIService是否可用。

請嘗試通過命令kubectl get apiservice,檢查叢集中的APIService的可用狀態,並通過kubectl describe apiservice命令,查看狀態異常的APIService並分析原因。

DNS服務後端服務端點

檢查叢集DNS服務Endpoints數。

請檢查CoreDNS Pod運行狀態和作業記錄。

DNS服務ClusterIP

檢查叢集DNS服務的Cluster IP是否正常分配,叢集DNS服務異常會造成叢集功能異常,影響業務。

請檢查CoreDNS Pod運行狀態和作業記錄。