Kubernetes V1.6.2 无法更新 cni 配置:在 /etc/cni/net.d 中找不到网络

sfg*_*ups 6 kubernetes

基于此(https://kubernetes.io/docs/getting-started-guides/kubeadm/)步骤,我在 Centos 7 box 中安装了 Kubernetes 并运行 kubeadm init 命令。

但节点未处于就绪状态。当我查看 /var/log/messages.log 时。收到以下消息。

Apr 30 22:19:38 master kubelet: W0430 22:19:38.226441    2372 cni.go:157] Unable to update cni config: No networks found in /etc/cni/net.d
Apr 30 22:19:38 master kubelet: E0430 22:19:38.226587    2372 kubelet.go:2067] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Run Code Online (Sandbox Code Playgroud)

我的 kubelet 使用这些参数运行。

 /usr/bin/kubelet --kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt --cgroup-driver=systemd
Run Code Online (Sandbox Code Playgroud)

在我的服务器中我没有看到 /etc/cni/net.d 目录。在 /opt/cin/bin 目录中,我看到了这些文件。

# ls  /opt/cni/bin
bridge  cnitool  dhcp  flannel  host-local  ipvlan  loopback  macvlan  noop  ptp  tuning
Run Code Online (Sandbox Code Playgroud)

如何清除此错误消息?

小智 5

看起来您已选择法兰绒作为 CNI 网络。请检查您是否在 kubeadm init 时指定了 --pod-network-cidr 10.244.0.0/16。

还要检查您是否为法兰绒创建了 ConfigMaps,如下所示@ https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml