在Linux系統中進行Kubernetes(K8S)故障排查通常涉及以下步驟:
kubectl get nodes 命令檢查節點狀態,確保所有關鍵組件如etcd、kubelet和kube-proxy正常運行。kubectl get events 命令查看集群事件日志,這些日志記錄了與集群中重要事件和錯誤相關的信息,有助于定位問題。kubectl get pods --all-namespaces 命令獲取所有Pod的狀態,檢查是否有Pod處于非運行狀態(如掛起、錯誤或未就緒)??梢允褂?kubectl describe pod <pod_name> 獲取特定Pod的詳細信息。kubectl get services 查看服務狀態,并通過 kubectl describe service <service_name> 獲取服務的詳細信息。kubectl get pv、kubectl get pvc 和 kubectl get storageclass 命令獲取存儲相關信息。kubectl logs 命令查看特定Pod中容器的日志輸出。如果Pod內有多個容器,可以使用 kubectl logs -c <container_name> 查看特定容器的日志。kubectl top pod 命令查看Pod的資源使用情況,包括CPU和內存的占用情況,判斷是否存在資源過載。kubectl describe pod 命令查看Pod的網絡配置,確保網絡正常通暢。也可以通過 kubectl exec -it -- ping 命令測試Pod是否能夠訪問指定IP地址。journalctl -xeu etcd、journalctl -xeu kubelet 等,以獲取組件日志信息。通過上述步驟,可以系統地進行K8S故障排查,快速定位并解決問題,確保集群的穩定運行。