带法兰绒的Kubernetes:未初始化的CNI配置

时间:2018-11-12 08:28:24

标签: kubernetes flannel cni

我是Kubernetes的新手,正在尝试在本地计算机上设置Kubernetes集群。裸机。没有OpenStack,没有Maas之类的东西。

在主节点上的kubeadm init ...,从节点上的kubeadm join ...和主节点上的applying flannel之后,我收到了从节点的消息:

  

运行时网络未就绪:NetworkReady = false原因:NetworkPluginNotReady消息:docker:网络插件未就绪:cni config未初始化

有人可以告诉我我做错了什么或错过了任何步骤吗? 是否也应将法兰绒应用于所有从节点?如果是,则他们没有admin.conf ...

非常感谢!

PS。所有节点均无法访问Internet。这意味着所有文件都必须通过ssh手动复制。

3 个答案:

答案 0 :(得分:1)

问题是缺少互联网连接。将Docker映像手动加载到工作节点后,它们似乎已准备就绪。

不幸的是,我没有找到关于此的有用错误消息。

答案 1 :(得分:1)

我认为这个问题是由kuberadm首先初始化coredns而不是init法兰绒引起的,所以它抛出“网络插件尚未准备好:cni config未初始化”。
解决方案:
1.通过kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
安装法兰绒 2.重置coredns pod
kubectl delete coredns-xx-xx
3.然后运行kubectl get pods看看是否有效。

如果看到此错误,则“ cni0”已具有不同于10.244.1.1/24的IP地址。 请按照以下步骤操作:

ifconfig  cni0 down
brctl delbr cni0
ip link delete flannel.1

如果看到此错误“后退重新启动失败的容器”,则可以通过以下方式获取日志

root@master:/home/moonx/yaml# kubectl logs coredns-86c58d9df4-x6m9w -n=kube-system
.:53
2019-01-22T08:19:38.255Z [INFO] CoreDNS-1.2.6
2019-01-22T08:19:38.255Z [INFO] linux/amd64, go1.11.2, 756749c
CoreDNS-1.2.6
linux/amd64, go1.11.2, 756749c
 [INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769
 [FATAL] plugin/loop: Forwarding loop detected in "." zone. Exiting. See https://coredns.io/plugins/loop#troubleshooting. Probe query: "HINFO 1599094102175870692.6819166615156126341.".

然后您会在失败的节点上看到文件“ /etc/resolv.conf”,如果名称服务器是localhost,则会发生环回。更改为:

#nameserver 127.0.1.1
nameserver 8.8.8.8

答案 2 :(得分:0)

通常将绒布部署为守护程序集。在所有工作节点上的含义。