以下是在CentOS上排查K8s故障的常用方法:
檢查集群狀態
kubectl get nodes
:查看節點是否處于Ready狀態,若為NotReady需進一步排查節點服務。kubectl get pods --all-namespaces
:獲取所有Pod狀態,關注Pending、CrashLoopBackOff等異常狀態。查看事件與日志
kubectl get events
:查看集群事件,定位異常發生時間點及可能原因。kubectl logs <pod-name>
:查看Pod內容器日志,若Pod有多個容器需指定-c <container-name>
。journalctl -u kubelet
:查看kubelet服務日志,排查節點級錯誤。網絡排查
kubectl get pods -o wide
:檢查Pod IP及所在節點,確認網絡連通性。ping/traceroute
:測試節點間、Pod間網絡連通性。kubectl get pods -n kube-system
,確保相關Pod正常運行。資源與配置檢查
kubectl top nodes/pods
:監控資源使用情況,排查資源不足或限制問題。kubectl get pv,pvc,storageclass
,確認PV與PVC綁定狀態及存儲類是否正確。nslookup <service-name>
,檢查CoreDNS是否正常解析。系統級排查
top/free -m
,確保CPU、內存、磁盤空間充足。firewall-cmd --list-all
,確保K8s所需端口(如6443、10250等)開放。高級調試工具
kubectl debug
:在Pod中啟動臨時調試容器,安裝工具進行深入排查。參考來源: