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
相关推荐
hello_2504 小时前
CRI与容器运行时:从Kubelet到Container的最后一公里
云原生·kubelet
SunnyJim5 小时前
k8s etcd 运行错误 failed to find plugin “flannel“ in path [/usr/lib/cni]
容器·kubernetes·etcd
虫师c7 小时前
GitOps实战:ArgoCD+Tekton打造云原生CI/CD流水线
git·ci/cd·云原生·kubernetes·argocd·tekton
和光同尘20237 小时前
CentOS7搭建ELK日志分析系统
运维·elasticsearch·云原生·kubernetes·centos·kibana·logstash
Ribou7 小时前
不同环境(跨集群和同集群)下的Jenkins与Kubernetes集群连接配置
kubernetes·jenkins
Kaede610 小时前
Docker和K8S的区别详解
docker·容器·kubernetes
能不能别报错1 天前
K8s学习笔记(七) yaml
笔记·学习·kubernetes
Rinleren1 天前
企业级 K8s 运维实战:集群搭建、微服务暴露(Ingress)、监控告警(Prometheus)全流程
java·容器·kubernetes
退役小学生呀1 天前
二十一、DevOps:从零建设基于K8s的DevOps平台(二)
运维·docker·云原生·容器·kubernetes·devops