成功解决:twork plugin is not ready: cni config uninitialized 和 No networks found in /etc/cni/net.d

部署k8s集群时候节点一直显示NotReady,查看日志找出问题成功解决:twork plugin is not ready: cni config uninitialized! No networks found in /etc/cni/net.d!

[root@master myx]# kubectl get node -n kube-system
NAME     STATUS     ROLES    AGE   VERSION
host1    NotReady   <none>   96m   v1.14.2
master   NotReady   master   12h   v1.14.2

经典找问题看日志思路

journalctl -f -u kubelet 

详细报错:

[root@master myx]# journalctl -f -u kubelet    # 查看kubelet日志
-- Logs begin at 五 2023-04-14 16:49:53 CST. --
5月 06 12:42:52 master kubelet[48391]: I0506 12:42:52.449251   48391 reconciler.go:207] operationExecutor.VerifyControllerAttachedVolume started for volume "etc-pki" (UniqueName: "kubernetes.io/host-path/4ca1f0887cd61ef9e628b23511126f83-etc-pki") pod "kube-apiserver-master" (UID: "4ca1f0887cd61ef9e628b23511126f83")
5月 06 12:42:52 master kubelet[48391]: I0506 12:42:52.449261   48391 reconciler.go:154] Reconciler: start to sync state
5月 06 12:42:56 master kubelet[48391]: W0506 12:42:56.593582   48391 cni.go:213] Unable to update cni config: No networks found in /etc/cni/net.d
5月 06 12:42:56 master kubelet[48391]: E0506 12:42:56.969946   48391 kubelet.go:2170] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

在这里插入图片描述

显然报错问题是 /etc/cni/net.d中找不到网络

解决方法:

所有节点都要执行:

#创建cni网络相关配置文件:
mkdir -p /etc/cni/net.d/
 
cat <<EOF> /etc/cni/net.d/10-flannel.conf
{
    
    "name":"cbr0","type":"flannel","delegate": {
    
    "isDefaultGateway": true}}
EOF
mkdir /usr/share/oci-umount/oci-umount.d -p
mkdir /run/flannel/
cat <<EOF> /run/flannel/subnet.env
FLANNEL_NETWORK=10.199.0.0/16
FLANNEL_SUBNET=10.199.1.0/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
EOF

在这里插入图片描述

其它节点没问题的话就OK啦
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Myx74270512/article/details/130534763