微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将节点添加到kubernetes集群导致无法加载Kubelet配置文件/var/lib/kubelet/config.yaml,并且在/etc/cni/net.d

如何解决将节点添加到kubernetes集群导致无法加载Kubelet配置文件/var/lib/kubelet/config.yaml,并且在/etc/cni/net.d

我有两个节点的k8s集群工作。我向集群添加了另一个节点,并且sudo kubeadm join ...命令报告该节点已加入集群。新节点卡在“未就绪”状态:

kubectl get nodes
NAME               STATUS     ROLES    AGE    VERSION
msi-ubuntu18       NotReady   <none>   29m    v1.19.0
tv                 Ready      master   131d   v1.18.6
ubuntu-18-extssd   Ready      <none>   131d   v1.17.4

journalctl -u kubelet显示错误

Started kubelet: The Kubernetes Node Agent.
  22039 server.go:198] Failed to load Kubelet config file /var/lib/kubelet/config.yaml,error Failed to read kubelet config file "/var/l...

但是文件/var/lib/kubelet/config.yaml存在并且看起来还可以。

sudo systemctl status kubelet显示了另一个错误

kubelet.go:2103] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plu
cni.go:239] Unable to update cni config: no networks found in /etc/cni/net.d

在新节点上没有/ etc / cni /目录。 (现有节点中有/etc/cni/net.d/,其中包含calico文件。)如果我运行

kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

再次在主服务器上

不能解决问题。新节点上仍然没有/ etc / cni /目录。

在创建新节点时,我一定错过了一步。如何在新节点上获得/ etc / cni /目录?当新节点卡在“未就绪”状态时,kubeadm join ...命令指示成功也令人感到困惑。

解决方法

对于遇到此问题的其他人,我终于可以通过解决

kubectl delete -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

之后

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

几个月前我安装的3.11版本和新节点之间肯定存在版本不兼容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。