【问题标题】:All Kubernetes Pods go down simultaneously periodically所有 Kubernetes Pod 会定期同时关闭
【发布时间】: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


【解决方案1】:

也看到了这个。如果您使用 docker 1.12.3 将 CoreOS 降级到旧版本,问题似乎就会消失。

Docker 是一场噩梦,在他们发布的每个版本中都会出现回归:(

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2019-05-23
    • 2021-09-02
    • 2020-03-12
    • 2016-06-24
    • 2020-01-19
    • 1970-01-01
    相关资源
    最近更新 更多