k8s kubelet 错误 Network plugin returns error: cni plugin not initialized

问题描述

  • 问题现象 : 节点状态显示 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"

排查过程

相关组件

bash 复制代码
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 都很正常可以进行下一步检查

相关配置

bash 复制代码
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

bash 复制代码
crictl info | grep -A 5 -B 5 network
json 复制代码
"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)

bash 复制代码
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
相关推荐
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生5 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美6 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
java_cj13 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
qq_4523962313 天前
第十三篇:《K8s 安全基础:RBAC、ServiceAccount、Pod Security》
java·安全·kubernetes
睡不醒男孩03082313 天前
云原生运维实战:高并发架构下的云原生可观测性、韧性降级与自动化干预体系
数据库·kubernetes·高并发·prometheus·devops·sre·缓存调优
qq_4523962313 天前
第十四篇:《K8s 网络模型与 CNI 插件(Calico、Flannel、Cilium)》
网络·kubernetes·php
Hadoop_Liang13 天前
Kubernetes 应用 HTTPS 安全访问配置实践
https·kubernetes