以下是Kubernetes在Linux中的故障排查方法:
kubectl get nodes
:检查节点状态,确认是否有NotReady
节点。kubectl describe node <node-name>
:查看节点详细信息,分析异常原因。kubectl get pods --all-namespaces
:查看所有Pod状态,定位非Running
状态的Pod。kubectl describe pod <pod-name>
:获取Pod详细信息,包括事件和容器状态。kubectl logs <pod-name>
:查看Pod内容器日志,排查应用错误。kubectl get services
:检查服务状态,确认是否正常暴露端口。kubectl describe service <service-name>
:查看服务详情,排查配置错误。kubectl exec -it <pod-name> -- ping <目标IP>
。journalctl -u kubelet
:查看kubelet服务日志,定位节点相关问题。journalctl -u etcd
:查看etcd服务日志,排查集群数据异常。kubectl get events
:查看集群事件,获取资源操作记录和错误信息。kubectl top nodes/pods
:查看节点和Pod的资源使用情况,排查资源不足问题。kubectl get pv,pvc,storageclass
,确保持久化存储正常。kubectl get pods -n kube-system
,确保CNI插件(如Calico、Flannel)运行正常。kubectl debug
:启动调试容器,进入Pod或节点命名空间排查网络、进程等问题。