【发布时间】:2020-06-12 14:48:10
【问题描述】:
我在 centos 7 和 Docker 版本 19.03.6 上全新安装了 Kubernetes 集群
但 coredns pod 无法启动,这是完整的日志:
2020-02-28T12:55:56.541Z [INFO] plugin/reload: Running configuration MD5 = 7755bc9b35751c5434bff19f80f6324e
E0228 12:56:21.542876 1 reflector.go:134] github.com/coredns/coredns/plugin/kubernetes/controller.go:322: Failed to list *v1.Namespace: Get https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout
E0228 12:56:21.542876 1 reflector.go:134] github.com/coredns/coredns/plugin/kubernetes/controller.go:322: Failed to list *v1.Namespace: Get https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout
log: exiting because of error: log: cannot create log: open /tmp/coredns.coredns-584795fc57-cgh67.unknownuser.log.ERROR.20200228-125621.1: no such file or directory
这些是我的豆荚
这些是服务
我尝试了大多数常见的解决方案,例如:
禁用防火墙
禁用 SELinux
allowPrivilegeEscalation 为 true
重置集群并重试
最后找到了解决办法
一种解决方案是将 pod_network_cidr: "192.168.0.0/16" 更改为 pod_network_cidr: "192.168.0.200/24"
第二个解决方案(我认为也是首选的一个)是在初始化集群之后和绑定节点并在它们上安装 docker 之前设置 calico 等
【问题讨论】:
-
我注意到 calico-controller 也不工作。网络工作正常吗? ¿ 不同节点上的 pod 之间的通信? ¿外部输出?可以添加calico-controller的describe和logs的输出吗?
-
您的centos 中是否有多个网络接口?我的意思是,这似乎是一个网络问题......有时需要强制 calico 知道使用哪个网络与其他节点通信。
-
所有 ping 都正常,毕竟我找到了解决方案: - 一种解决方案是将 pod_network_cidr: "192.168.0.0/16" 更改为 pod_network_cidr: "192.168.0.200/24" - 第二种解决方案(和首选一个,我认为)是在初始化集群之后和绑定节点并在它们上安装 docker 之前设置 calico 等
-
@NemanjaŽunić 您将答案发布为对问题的编辑,这不是正确的行为。请在您的解决方案中写下答案,您可以将其标记为已接受,请发布您可以发布的所有详细信息,因为您的问题将来可以帮助其他人!
-
请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 How to Ask
标签: docker networking kubernetes centos coredns