<p>I am seeing a lot of errors in my logs relating to watches. Here's a snippet from my apiserver log on one machine:</p>

<pre><code>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)
</code></pre>

<p>As you can see, there are two types of errors:</p>

<ul>
<li><code>etcd cluster is unavailable or misconfigured</code><br>
I am passing <code>--etcd-servers=http://k8s-master-etcd-elb.eu-west-1.i.tst.nonprod-ffs.io:2379</code> to the apiserver (this is definitely reachable). <a href="https://stackoverflow.com/questions/35673283/why-does-kubernetes-apiserver-present-a-bad-certificate-to-the-etcd-server">Another question</a> seems to suggest that this does not work, but <code>--etcd-cluster</code> is not a recognised option in the version I'm running (1.2.3)</li>
<li><code>too old resource version</code><br>
I've seen various mentions of this (eg. <a href="https://github.com/kubernetes/kubernetes/issues/22024" rel="nofollow noreferrer">this issue</a>) but nothing conclusive as to what causes this. I understand the default cache window is 1000, but the delta between versions in the example above are less than 1000. Could it be the error above is the cause of this?</li>
</ul>

<p>I see that you are accessing the etcd through ELB proxy on AWS.</p>

<p>I have similar solution, just the ETCD is decoupled from the kubmaster server to its own 3 node cluster, hidden behind a internal ELB.</p>

<p>I can see the same errors from the kube-apiserver when configured to use the ELB. Without the ELB, configured as usual with a list of ETCD endponts, I don't see any errors.</p>

<p>Unfortunately, I don't know the root cause or why is this happening, will investigate more.</p>
