33 【kebernetes】一个错误的解决方案

在安装或者重新安装kubernetes时,我碰到了这个错误:

Unable to update cni config: No networks found in /etc/cni/net.d/

这个错误的原因是:kubectl get nodes时总有NotReady的设备。

另外,kubectl get pods --all-namespaces查看pods节点时,coredns总是pending状态。

随着一点点google,发现核心问题是:tail -f /var/log/syslog时看到不时有以上的报错信息。

搞了一下午,尝试了各种方案,未果,好在最后解决了。

再次说下背景:

我是通过这个网页来安装初始化master节点的:https://www.cnblogs.com/RainingNight/p/using-kubeadm-to-create-a-cluster.html#%E5%88%9D%E5%A7%8B%E5%8C%96master%E8%8A%82%E7%82%B9

如果真好有同学也用的是上面这个链接,那这篇文章对你而言,相当具有参考价值了,其它不是通过这篇文章来安装的,这篇文章也可以作为参考。

具体出现问题的点是:安装网络插件的时候

这是图片:

 安装之后,coredns的pods一直是pending状态。(最开始安装的时候是可以通过的,后来我自己想卸载再安装的时候就出问题了。)

 

解决方案:https://docs.projectcalico.org/v3.3/getting-started/kubernetes/

参考这个链接,一点点apply即可。

 

首先要销毁掉整个cluster节点:sudo kubeadm reset

再次按照官网的步骤一点点来

1,sudo kubeadm init --pod-network-cidr=192.168.0.0/16

2,mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

3, kubectl apply
-f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/etcd.yaml
4, kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/rbac.yaml
5, kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/calico.yaml 6,
watch kubectl get pods
--all-namespaces
7, kubectl get nodes
-o wide

我个人猜测,这篇文章:https://www.cnblogs.com/RainingNight/p/using-kubeadm-to-create-a-cluster.html

中使用yaml文件是有问题的,这个问题很隐性,可能在相同的机器上再次运行的时候会出错。按照官方的安装步骤,能解决我的问题,如果正好也解决了你的问题,留个言跟我互动下。

原文地址:https://www.cnblogs.com/helww/p/10040620.html