kubeadm 1.16+ 初始化后 Unable to update cni config: no valid networks found in /etc/cni/net.d

问题描述:

在使用 kubeadm 工具初始化k8s后,并且安装了 flanneld 网络组建后,/var/log/messages 依旧报错, Unable to update cni config: no valid networks found in /etc/cni/net.d

问题原因是 :

似乎在v1.16中,kubelet将验证cni配置文件,如果不支持cniVersion,将返回错误: https://github.com/kubernetes/kubernetes/pull/80482

当前,kube-flannel.yaml的configmap中的cni-conf.json数据缺少cniVersion字段,因此plugin flannel does not support config version ""返回类似错误。似乎我们需要将支持的cniVersion添加到kube-flannel.yaml。

解决:

找到 https://github.com/coreos/flannel/blob/d893bcbfe6b04791054aea6c7569dea4080cc289/Documentation/kube-flannel.yml#L108

cbr0 这一行上面新增一行:

"cniVersion":"0.3.1",

并且 需要手动把 coredns 的pod 都删除,要重新生成,即可解决。

posted @ 2019-11-11 17:18  司家勇  阅读(19279)  评论(1编辑  收藏  举报