遇到了Pod启动失败(用于网络检查的netcheck pod),如图所示:

-
Pod 状态是
Unknown,而不是常见的CrashLoopBackOff或ImagePullBackOff。 -
Unknown状态的定义是:API Server 无法从 kubelet 获取该 Pod 的最新状态 。这不是 Pod 内部逻辑的问题,而是 节点和控制平面之间的通信问题。
所以逻辑是这样的:
-
如果 Pod 状态是
CrashLoopBackOff→ 排查 Pod 配置(镜像、启动命令)。 -
如果 Pod 状态是
ImagePullBackOff→ 排查镜像仓库和拉取策略。 -
如果 Pod 状态是
Unknown→ 排查 节点/kubelet/containerd,因为控制平面根本拿不到 Pod 的状态。
-
确认 Pod 所在节点状态
kubectl get pod netcheck -n default -o wide
执行后:
根据Node名称检查节点状态
kubectl get nodes
kubectl describe node 192.168.152.135
-
检查 containerd 服务状态
systemctl status containerd
journalctl -u containerd -f