问题描述

  • 问题现象: 节点状态显示 NotReady
  • 错误日志: kubelet 持续输出网络相关错误
E0927 09:12:45.858367   53283 kubelet.go:2909] "Container runtime network not ready"
networkReady="NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized"

排查过程

相关组件

kubectl get pods -n kube-flannel -o wide
kubectl get daemonset -n kube-flannel

kubectl logs -n kube-flannel kube-flannel-ds-qg7pp

flannel 相关的 pod 都很正常可以进行下一步检查

相关配置

ls -la /etc/cni/net.d/
cat /etc/cni/net.d/10-flannel.conflist

ls -la /opt/cni/bin/
ls -al /usr/lib/cni/

检查cni配置和cni的二进制文件,发现也都没有缺少什么,下一步检查

验证 cri

crictl info | grep -A 5 -B 5 network
"lastCNILoadStatus": "cni config load failed: no network config found in /etc/cni/net.d: cni plugin not initialized"

发现cri存在错误日志,但是我们上面已经检查了 /etc/cni/net.d 是有 cni 配置的,既然找不到,那就重启一下 containerd(我使用的是 containerd)

systemctl restart containerd
systemctl restart kubelet

重启之后等运行完毕,也需要重启 kubelet。

验证结果

NAME           STATUS   ROLES           AGE   VERSION
edge-node1     Ready    <none>          14m   v1.30.3
master-node1   Ready    control-plane   14h   v1.30.3
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐