与Kubernetes手表有关的错误

时间:2016-05-17 08:08:15

标签: kubernetes

我在日志中看到很多与手表有关的错误。这是我的apiserver登录一台机器的片段:

W0517 07:54:02.106535       1 reflector.go:289] pkg/storage/cacher.go:161: watch of *api.Service ended with: client: etcd cluster is unavailable or misconfigured
W0517 07:54:02.106553       1 reflector.go:289] pkg/storage/cacher.go:161: watch of *api.PersistentVolumeClaim ended with: client: etcd cluster is unavailable or misconfigured
E0517 07:54:02.120217       1 reflector.go:271] pkg/admission/resourcequota/admission.go:86: Failed to watch *api.ResourceQuota: too old resource version: 790115 (790254)
E0517 07:54:02.120390       1 reflector.go:271] pkg/admission/namespace/lifecycle/admission.go:126: Failed to watch *api.Namespace: too old resource version: 790115 (790254)
E0517 07:54:02.134209       1 reflector.go:271] pkg/admission/serviceaccount/admission.go:102: Failed to watch *api.ServiceAccount: too old resource version: 790115 (790254)

如您所见,有两种类型的错误:

  • etcd cluster is unavailable or misconfigured
    我正在将--etcd-servers=http://k8s-master-etcd-elb.eu-west-1.i.tst.nonprod-ffs.io:2379传递给apiserver(这绝对可以访问)。 Another question似乎表明这不起作用,但--etcd-cluster在我正在运行的版本中不是公认的选项(1.2.3)
  • too old resource version
    我已经看过各种各样的提及(例如this issue),但没有结论是什么导致了这一点。我理解默认缓存窗口是1000,但上面示例中版本之间的差值小于1000.可能是上面的错误导致了这个问题吗?

1 个答案:

答案 0 :(得分:2)

我看到您正在通过AWS上的ELB代理访问etcd。

我有类似的解决方案,只是ETCD与kubmaster服务器分离到它自己的3节点集群,隐藏在内部ELB后面。

配置为使用ELB时,我可以从kube-apiserver看到相同的错误。没有ELB,像往常一样配置ETCD端口列表,我没有看到任何错误。

不幸的是,我不知道根本原因或为什么会发生这种情况,会进行更多调查。