我已经运行了一段时间的 Kubernetes 集群,但我一直无法保持稳定。我的集群由四个节点、两个主节点和两个工作节点组成。所有节点都在同一物理服务器上运行,而后者又运行 VMware vSphere 6.5。每个节点都运行 CoreOS stable (1353.7.0),我正在运行 Kubernetes/Hyperkube v1.6.4,使用 Calico 进行联网。我已按照本指南中的步骤进行操作。
发生的情况是,在几个小时/几天内,集群将顺利运行。然后,突然间(据我所知,没有明显的原因)我所有的 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
我用谷歌搜索了这个错误,遇到了这个问题,但已经关闭,人们表示使用 v1.6.0 或更高版本应该可以解决它,但在我的情况下绝对没有......
谁能指出我正确的方向?!
谢谢!