部署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啦