常用k8s查询故障命令
解决Kubernetes中大量pod处于ContainerStatusUnknown状态 …
https://developer.baidu.com/article/details/2819535
k8s 大量 pod 处于 ContainerStatusUnknown 状态-CSDN博客
https://blog.csdn.net/weixin_42555971/article/details/131681381
5 分钟搞懂 K8S Pod Terminating/Unknown 故障排查-阿里云开 …
https://developer.aliyun.com/article/1366962
当容器运行时(如 containerd)报告“Unknown”状态时,通常意味着节点或容器的状态无法被 Kubernetes 控制平面正确识别。这可能由节点问题、网络故障或资源不足等原因引起。
示例
kubectl get pods -n <namespace>
NAME READY STATUS RESTARTS AGE
example-pod 0/1 Unknown 0 10m
排查步骤
检查节点状态
使用以下命令查看节点是否处于正常状态:
kubectl get nodes
如果节点显示为 NotReady,需要进一步检查节点日志:
journalctl -u kubelet
journalctl -u containerd
查看 Pod 日志和事件
检查受影响 Pod 的详细信息和日志:
kubectl describe pod <pod-name> -n <namespace>
kubectl logs <pod-name> -n <namespace> --previous
kubectl get events --field-selector involvedObject.name=[pod_name] -n [namespace_name]
检查网络和存储配置
网络或存储问题可能导致容器无法正常启动。确保网络插件(如 CNI)和存储卷配置正确。
重启 Kubelet 服务
如果问题仍未解决,可以尝试重启 Kubelet 服务:
sudo systemctl restart kubelet
删除并重新创建 Pod
如果 Pod 状态无法恢复,可以强制删除并重新创建:
kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0
kubectl apply -f <pod-definition.yaml>

浙公网安备 33010602011771号