无法在Kubernetes上启动kube dns

无法在Kubernetes上启动kube dns,dns,kubernetes,coreos,Dns,Kubernetes,Coreos,希望有人能帮忙。 我有一个运行Kubernetes的3x节点CoreOS集群。节点如下所示: 192.168.1.201-控制器 192.168.1.202-工作节点 192.168.1.203-工作节点 群集已启动并正在运行,我可以运行以下命令: > kubectl get nodes NAME STATUS AGE 192.168.1.201 Ready,SchedulingDisabled 1d 192.168.

希望有人能帮忙。 我有一个运行Kubernetes的3x节点CoreOS集群。节点如下所示: 192.168.1.201-控制器 192.168.1.202-工作节点 192.168.1.203-工作节点

群集已启动并正在运行,我可以运行以下命令:

> kubectl get nodes

NAME            STATUS                     AGE
192.168.1.201   Ready,SchedulingDisabled   1d
192.168.1.202   Ready                      21h
192.168.1.203   Ready                      21h

> kubectl get pods --namespace=kube-system

NAME                                    READY     STATUS             RESTARTS   AGE
kube-apiserver-192.168.1.201            1/1       Running            2          1d
kube-controller-manager-192.168.1.201   1/1       Running            4          1d
kube-dns-v20-h4w7m                      2/3       CrashLoopBackOff   15         23m
kube-proxy-192.168.1.201                1/1       Running            2          1d
kube-proxy-192.168.1.202                1/1       Running            1          21h
kube-proxy-192.168.1.203                1/1       Running            1          21h
kube-scheduler-192.168.1.201            1/1       Running            4          1d
如您所见,kube dns服务未正确运行。它一直在重新启动,我很难理解为什么。如果您能在调试过程中提供帮助,我们将不胜感激(或者为您指明在何处阅读有关调试的内容)。运行kubectl日志不会带来任何回报……不确定插件的功能是否与标准POD不同

运行kubectl描述吊舱时,我可以看到容器因不健康而死亡:

16m           16m             1       {kubelet 192.168.1.203} spec.containers{kubedns}        Normal          Created         Created container with docker id 189afaa1eb0d; Security:[seccomp=unconfined]
16m           16m             1       {kubelet 192.168.1.203} spec.containers{kubedns}        Normal          Started         Started container with docker id 189afaa1eb0d
14m           14m             1       {kubelet 192.168.1.203} spec.containers{kubedns}        Normal          Killing         Killing container with docker id 189afaa1eb0d: pod "kube-dns-v20-h4w7m_kube-system(3a545c95-ea19-11e6-aa7c-52540021bfab)" container "kubedns" is unhealthy, it will be killed and re-created
请在此处找到此命令作为github gist的完整输出:


提前感谢!

如果您使用kubeadm安装了群集,您应该在安装后添加一个pod网络

如果选择flannel作为pod网络,那么在init命令
kubeadm init--pod网络cidr 10.244.0.0/16
中应该有这个参数

法兰绒YAML文件可在中找到

如果集群已正确初始化(如上所述),则只需运行
kubectl create-fhttps://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

一旦启动并运行(它将在每个节点上创建吊舱),您的kube dns吊舱就会出现

如果需要重置安装(例如将参数添加到
kubeadm init
),可以在所有节点上使用
kubeadm reset

通常,您会在主机上运行init命令,然后添加一个pod网络,然后添加其他节点


关于pod网络的第3/4步对此进行了更详细的描述。

正如您的要点所述,您的pod网络似乎已损坏。您正在使用10.10.10.X中的某个自定义pod网络。您应该将此IP与所有组件进行通信

请检查,与其他现有网络没有冲突


我建议您使用Calico进行设置,因为这是我让CoreOS k8s开始工作的解决方案

在遵循官方kubeadm文档中的步骤并使用法兰绒网络后,我遇到了类似的问题

网络吊舱陷入错误状态时出现:

kube-dns-xxxxxxxx-xxxvn(rpc错误)

kube-flannel-ds-xxxxx(紧急回退)

kube-flannel-ds-xxxxx(紧急回退)

kube-flannel-ds-xxxxx(紧急回退)

在我的例子中,它与rbac权限错误有关,通过运行

kubectl创建-f


之后,所有kube系统吊舱都进入运行状态。上游问题在github上讨论。嗨-删除和重新部署kube dns会导致相同的问题?嗨。是的。我尝试过删除和重新部署。不幸的是,相同的问题。非常感谢Morten。我明天会继续讨论,并让你知道我的进展。嗨,Morten。我今天浏览了《入门指南》,但这与我在CoreOS网站上所遵循的指南不同。我使用了这个-并使用构建脚本启动了盒子。我还在CoreOS盒子上设置了法兰绒,因此不确定我是否仍然需要pod网络。我面临的问题与问题中提到的完全相同,但与weave net。相同的解决方案对我的问题有效吗?据我所知,我们仅在flannelHi David的情况下指定pod网络cidr。我一定在日志输出中遗漏了这一点。在我的要点中,哪里显示网络断开(供我调试时参考)Morten先生已经在下面回复了,我将尝试他的建议,我只是在查看日志,上面说网络断了。