我在日志中看到很多与手表有关的错误。这是我的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
答案 0 :(得分:2)
我看到您正在通过AWS上的ELB代理访问etcd。
我有类似的解决方案,只是ETCD与kubmaster服务器分离到它自己的3节点集群,隐藏在内部ELB后面。
配置为使用ELB时,我可以从kube-apiserver看到相同的错误。没有ELB,像往常一样配置ETCD端口列表,我没有看到任何错误。
不幸的是,我不知道根本原因或为什么会发生这种情况,会进行更多调查。