【发布时间】:2017-06-15 11:33:11
【问题描述】:
我已经运行了一段时间的 Kubernetes 集群,但我一直无法保持稳定。 我的集群由四个节点、两个主节点和两个工作节点组成。所有节点都在同一物理服务器上运行,而后者又运行 VMware vSphere 6.5。每个节点都运行 CoreOS stable (1353.7.0),我运行 Kubernetes/Hyperkube v1.6.4,使用 Calico 进行联网。我已按照this 指南中的步骤进行操作。
发生的情况是,在几个小时/几天内,集群将顺利运行。然后,突然间(据我所知,没有明显的原因)我所有的 pod 都进入“待处理”状态并保持这种状态。然后,任何托管服务都无法访问。 过了一会儿(通常是 5 到 10 分钟),它似乎会自行恢复,之后它开始重新创建我所有的 pod,并尝试(但失败)关闭我所有正在运行的 pod。一些新创建的 pod 出现了,但最初不会连接到互联网。
几周以来,我间歇性地遇到了这个问题,这一直阻止我在生产中使用 Kubernetes。我真的很想弄清楚是什么原因造成的!
奇怪的是,当我尝试通过检查日志来诊断问题时, 我注意到在我的两个工作节点上,日志日志都已损坏!在主节点上,日志仍然是可读的,但信息量不是很大。
即使在运行时,kubelet 也会不断地在其日志中发出错误。在所有节点上,大约每分钟发布一次:
May 26 09:37:14 kube-master1 kubelet-wrapper[24228]: E0526 09:37:14.012890 24228 cni.go:275] Error deleting network: open /var/lib/cni/flannel/3975179a14dac15cd41881266c9bfd6b8763c0a48934147582cb55d5618a9233: no such file or directory
May 26 09:37:14 kube-master1 kubelet-wrapper[24228]: E0526 09:37:14.014762 24228 remote_runtime.go:109] StopPodSandbox "3975179a14dac15cd41881266c9bfd6b8763c0a48934147582cb55d5618a9233" from runtime service failed: rpc error: code = 2 desc = NetworkPlugin cni failed to teardown pod "logstash-s3498_default" network: open /var/lib/cni/flannel/3975179a14dac15cd41881266c9bfd6b8763c0a48934147582cb55d5618a9233: no such file or directory
May 26 09:37:14 kube-master1 kubelet-wrapper[24228]: E0526 09:37:14.014818 24228 kuberuntime_gc.go:138] Failed to stop sandbox "3975179a14dac15cd41881266c9bfd6b8763c0a48934147582cb55d5618a9233" before removing: rpc error: code = 2 desc = NetworkPlugin cni failed to teardown pod "logstash-s3498_default" network: open /var/lib/cni/flannel/3975179a14dac15cd41881266c9bfd6b8763c0a48934147582cb55d5618a9233: no such file or directory
May 26 09:38:07 kube-master1 kubelet-wrapper[24228]: I0526 09:38:07.422341 24228 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/9a378211-3597-11e7-a7ec-000c2958a0d7-default-token-0p3gf" (spec.Name: "default-token-0p3gf") pod "9a378211-3597-11e7-a7ec-000c2958a0d7" (UID: "9a378211-3597-11e7-a7ec-000c2958a0d7").
May 26 09:38:14 kube-master1 kubelet-wrapper[24228]: W0526 09:38:14.037553 24228 docker_sandbox.go:263] NetworkPlugin cni failed on the status hook for pod "logstash-s3498_default": Unexpected command output nsenter: cannot open : No such file or directory
May 26 09:38:14 kube-master1 kubelet-wrapper[24228]: with error: exit status 1
我已经用谷歌搜索了这个错误,遇到了this 问题,但该问题已关闭,人们表示使用 v1.6.0 或更高版本应该可以解决它,但在我的情况下肯定没有......
谁能指出我正确的方向?!
谢谢!
【问题讨论】:
-
我也有这种行为。通过 azure 容器服务运行 kubernetes 集群。我认为它是 1.5.3。你有想过这个吗?
-
如果 pod 一直处于挂起状态,这可能表明调度程序可能存在问题,您可以同时从调度程序和控制器发布日志吗?
-
我刚刚检查了这个问题,看起来最近有回归。我建议关注这个问题并 ping 维护者。
-
第一步是运行
kubectl describe pod [oneofthepods]并发布输出。输出应该会告诉您“待处理”的原因。
标签: kubernetes coreos calico