kubernetes – 容器运行时网络尚未就绪:cni config未初始化

我正在虚拟机内运行的centos VM上安装kubernetes(kubeadm),所以我用yum安装了kubeadm,kubelet和docker.

现在尝试使用kubeadm init设置集群时–pod-network-cidr = 192.168.56.0 / 24 –apiserver-advertise-address = 192.168.56.33 / 32我遇到以下错误:

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

Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

所以我检查了,/ etc中没有cni文件夹,即使安装了kubernetes-cni-0.6.0-0.x86_64.我试图在/etc/systemd/system/kubelet.service.d/10-kubeadm.conf中评论KUBELET_NETWORK_ARGS,但它没有用.

PS:

>我正在安装代理后面.
>我有多个网络适配器:

> NAT:10.0.2.15/24用于Internet
>仅限主机:192.168.56.33/32
>和docker接口:172.17.0.1/16

Docker version: 17.12.1-ce
kubectl version : Major:”1″,
Minor:”9″, GitVersion:”v1.9.3″
Centos 7

最佳答案 使用“kubeadm init”设置集群时需要记住几点,并在Kubernetes站点
kubeadm cluster create上清楚地记录:

>“kubeadm reset”如果您已经创建了以前的群集
>从主目录或根目录中删除“.kube”文件夹
>(同时使用systemctl停止kubelet将允许顺利设置)
>永久禁用机器上的交换,尤其是在重启Linux系统时
>不要忘记,按照网站上添加的说明安装a pod network add-on(不是Kubernetes网站)
>按照kubeadm在命令窗口中给出的后期初始化步骤进行操作.

如果正确遵循所有这些步骤,那么您的群集将正常运行.

并且不要忘记执行以下命令以在创建的集群上启用调度:

kubectl taint nodes --all node-role.kubernetes.io/master-
点赞