在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故障排查,快速定位并解决问题,确保集群的稳定运行。