Pod診斷
更新時間 2025-06-23 20:03:28
最近更新時間: 2025-06-23 20:03:28
分享文章
本節介紹了Pod診斷對應的檢查項以及修復方案。
Pod診斷主要包括Pod檢查、ClusterComponent檢查、Node檢查、NodeComponent檢查等檢查項。
注意
使用故障診斷功能時,系統將在您的集群節點上執行數據采集程序并收集檢查結果。采集的信息包括系統版本,負載、Docker、Kubelet等運行狀態及系統日志中關鍵錯誤信息。數據采集程序不會采集您的業務信息及敏感數據。
Pod診斷對應的檢查項
根據集群配置,具體檢查項可能稍有不同。實際結果請以診斷頁面結果為準。
| 診斷項分組 | 說明 |
| Pod檢查 | 檢查Pod常見問題,檢查項包括Pod狀態、鏡像拉取、網絡連通性等。 |
| ClusterComponent檢查 | 檢查集群常見問題,檢查項包括APIServer可用性、DNS可用性、集群插件版本是否最新等。 |
| Node檢查 | 檢查節點實例常見問題,檢查項包括節點狀態、網絡狀態、內核日志、核心進程和服務可用性等。 |
| NodeComponent檢查 | 檢查節點核心組件狀態,檢查項包括網絡和存儲插件。 |
Pod檢查
| 檢查項名稱 | 說明 | 修復方案 |
| 檢查Pod是否存在 | 檢查集群中是否存在該Pod。 | 請檢查Pod在集群中對應命名空間下是否存在。 |
| Pod容器重啟次數統計 | 統計Pod中容器重啟次數。 | 請檢查Pod狀態及日志。更多信息,請參見Pod異常問題排查。 |
| 檢查Pod容器是否存在鏡像下載阻塞情況 | 檢查Pod容器對應的鏡像下載被阻塞。 | 請檢查Pod狀態及日志。更多信息,請參見Pod異常問題排查。 |
| 檢查Pod容器鏡像Secrets是否有效 | 檢查Pod拉取鏡像的Secrets是否有效。 | 請檢查Pod狀態及日志。更多信息,請參見Pod異常問題排查。 |
| 檢查Pod是否初始化成功 | 檢查Pod是否正常初始化。 | 請檢查Pod狀態及日志。更多信息,請參見Pod異常問題排查。 |
| 檢查Pod是否處于調度中狀態 | 檢查Pod是否正常調度。 | 請檢查Pod狀態及日志。更多信息,請參見Pod異常問題排查。 |
ClusterComponent檢查
| 檢查項名稱 | 說明 | 修復方案 |
| 集群Kubernetes版本過低 | 檢查集群Kubernetes版本是否為云容器引擎當前支持的最新版本。 | 請通過控制臺集群升級功能更新集群kubernetes版本。 |
| 集群DNS服務ClusterIP | 檢查集群DNS服務的Cluster IP是否正常分配,集群DNS服務異常會造成集群功能異常,影響業務。 | 請檢查CoreDNS Pod運行狀態和運行日志。更多信息,請參見DNS解析異常問題排查。 |
| 集群DNS服務后端端點數 | 檢查集群DNS服務Endpoints數,數量過少時影響CoreDNS的高可用性。 | 請檢查CoreDNS Pod運行狀態和運行日志。更多信息,請參見DNS解析異常問題排查。 |
| 檢查CoreDNS是否部署到不同節點上 | 檢查CoreDNS是否配置了Pod反親和,調度到不同的節點上,避免單一節點故障,提高可用性。 | 請檢查集群CoreDNS是否配置了Pod反親和。 |
| 檢查NodeLocalDNS是否啟用并給命名空間配置了自動注入 | 檢查NodeLocalDNS插件是否安裝,并給命名空間配置了自動注入,便于該命名空間下的Pod快速解析DNS。 | 請檢查集群中是否安裝了NodeLocalDNS插件并給命名空間配置了自動注入。 |
| 檢查CoreDNS是否調度在Master節點上 | Master節點盡量避免業務Pod調度在其上,檢查CoreDNS是否配置了nodeAffinity或nodeSelector導致調度到master節點上。 | 請檢查CoreDNS是否配置了nodeAffinity或nodeSelector導致調度到master節點上。 |
| 檢查集群APISever是否可用 | 檢查節點能否正常連接集群API Server,訪問集群中其他K8s資源。 | 請檢查集群相關配置。檢查Master組件Pod是否異常。API Server使用的負載均衡ELB是否異常。 |
| 檢查集群免密插件版本是否最新 | 檢查集群免密插件版本是否為為云容器引擎當前支持的最新版本。 | 集群免密插件版本檢查過低,請盡快升級版本。 |
Node檢查
| 檢查項名稱 | 說明 | 修復方案 |
| 檢查節點是否存在 | 檢查集群中是否存在該節點。 | 請檢查Node在集群中是否存在。 |
| 檢查節點狀態是否Ready | 檢查節點在集群中的狀態是否為Ready。 | 請登錄到節點上執行systemctl status kubelet或journalctl -exu kubelet查看節點上kubelet進程異常日志并嘗試修復。 |
| 檢查ECS實例是否存在 | 檢查ECS實例是否存在。 | 請檢查ECS實例狀態。 |
| 檢查ECS實例狀態正常 | 檢查ECS實例狀態,實例狀態異常時會影響Pod的正常運行。 | 請檢查ECS實例狀態。 |
| 檢查節點狀態是否不可調度 | 檢查節點是否不可調度,不可調度的節點會影響Pod的正常運行。 | 節點不可調度,請檢查節點調度設置。 |
| 檢查節點Chronyd進程狀態是否正常 | 檢查節點Chronyd進程是否異常,該進程異常可能會影響系統時鐘同步。 | 節點Chronyd進程異常,可能影響節點系統時間同步。請嘗試通過命令systemctl restart chronyd重啟節點Chronyd進程。 |
| 檢查節點Ntpd進程狀態是否正常 | 檢查節點Ntpd進程是否異常,該進程異常可能會影響系統時鐘同步。 | 節點Ntpd進程異常,可能影響節點系統時間同步。請嘗試通過命令systemctl restart ntpd重啟節點Ntpd進程。 |
| 檢查節點Containerd狀態是否正常 | 檢查節點Containerd服務的狀態,該進程異常時可能會影響Pod的正常運行。 | 節點Containerd狀態異常,請收集節點日志并提交工單處理。 |
| 檢查節點Containerd鏡像拉取是否正常 | 檢查節點Containerd進程拉取pause鏡像是否正常。 | 請檢查節點網絡及鏡像配置。 |
| 檢查節點Docker狀態是否正常 | 檢查節點Dockerd服務的狀態,該進程異常時可能會影響Pod的正常運行。 | 節點Docker狀態異常,請收集節點日志并提交工單處理。 |
| 檢查節點Docker鏡像拉取是否正常 | 檢查節點Docker進程拉取pause鏡像是否正常。 | 請檢查節點網絡及鏡像配置。 |
| 檢查節點Kubelet狀態是否正常 | 檢查節點Kubelet服務的狀態,該進程可能會影響Pod的正常運行。 | 請檢查節點Kubelet日志。 |
| 檢查節點Kubelet啟動時間 | 檢查節點Kubelet進程啟動時間。 | 無 |
| 節點OS版本 | 檢查節點操作系統版本。 | 無 |
| 節點內核版本 | 檢查節點內核版本是否過低,內核版本過低可能造成系統異常。 | 請嘗試更換節點升級內核。 |
| 節點Systemd版本 | 檢查節點systemd版本。 | 無 |
| 節點runc版本 | 檢查節點runc版本,runc版本過低可能造成系統異常。 | 無 |
| 節點系統時間 | 檢查節點系統時間。 | 無 |
| 節點硬件時間 | 檢查節點硬件時間。 | 無 |
| 節點硬件時間漂移 | 檢查節點硬件時鐘與系統時間是否一致,時間相差超過2分鐘可能引起組件異常。 | 請嘗試登錄節點,通過命令hwclock --systohc將節點系統時間同步到硬件時間。 |
| 檢查節點內存交換區開啟情況 | 檢查節點內存交換區 (Memory Swap) 功能是否開啟,K8s默認要求關閉內存交換區。 | 當前節點內存交換區 (Memory Swap) 功能不支持開啟,請登錄節點關閉該功能。 |
| 檢查Conntrack表使用情況 | 檢查節點Conntrack表是否滿,Conntrack表滿可能影響網絡性能。 | 請檢查nf_conntrack_buckets和nf_conntrack_max內核參數。 |
| 檢查節點訪問集群API Server是否正常 | 檢查節點能否正常連接集群API Server,訪問集群中其他K8s資源。 | 請檢查集群相關配置。檢查Master組件Pod是否異常。API Server使用的負載均衡ELB是否異常。 |
| 節點DNS服務地址 | 檢查節點能否正常使用主機DNS服務,通過主機DNS服務解析集群外域名。 | 請檢查主機DNS服務是否正常。更多信息,請參見DNS解析異常問題排查。 |
| 集群DNS服務ClusterIP | 檢查集群DNS服務的Cluster IP是否正常分配,集群DNS服務異常會造成集群功能異常,影響業務。 | 請檢查CoreDNS Pod運行狀態和運行日志。更多信息,請參見DNS解析異常問題排查。 |
| 檢查節點訪問集群DNS服務是否正常 | 檢查節點能否正常訪問集群kube-dns服務的Cluster IP,通過集群的DNS服務解析集群內域名。 | 請檢查CoreDNS Pod運行狀態和運行日志。更多信息,請參見DNS解析異常問題排查。 |
| 檢查節點訪問集群DNS后端端點是否正常 | 檢查節點能否正常訪問集群CoreDNS的Pod IP地址,通過CoreDNS進行域名解析。 | 請檢查節點能否正常訪問CoreDNS的Pod IP地址。更多信息,請參見DNS解析異常問題排查。 |
| 檢查節點內網IP是否存在 | 檢查節點內網IP是否存在。 | 節點內網IP不存在,請嘗試移除節點后重新導入,移除時需保留ECS。 |
| 檢查節點能否訪問公網 | 檢查節點能否正常訪問公網,無法訪問公網可能影響公網鏡像拉取。 | 請檢查集群是否開啟SNAT公網訪問。 |
| 節點CPU使用率 | 檢查節點CPU負載是否過高,CPU負載過高可能影響系統性能。 | 無 |
| 節點內存使用率 | 檢查節點內存負載是否過高,內存過高可能影響系統性能。 | 無 |