title: Kubernetes API server failing to start: TLS handshake error
body: <p>Out of nowhere one of our API servers has started to fail with the following error:</p>
  
  <pre><code>http: TLS handshake error from 172.23.88.213:17244: EOF
  </code></pre>
  
  <p>It throws this error for every single node in the cluster, thus failing to start. This started happening this morning with no changes to any infrastructure.</p>
  
  <p>Things I've tried that haven't helped:</p>
  
  <ul>
  <li>Manually restart the weave docker container on the master node.</li>
  <li>Manually kill and reschedule the api-server.</li>
  <li>Manually restart the Docker daemon.</li>
  <li>Manually restarted the kubelet service.</li>
  <li>Check all SSL certs are valid, which they are.</li>
  <li>Check inodes, thousands free.</li>
  <li>Ping IP addresses of other nodes in cluster, all return ok with 0 packet loss.</li>
  <li>Check journalctl and systemctl logs of kubelet services and the only significant errors I see are related to TLS handshake error.</li>
  </ul>
  
  <p>Cluster specs:</p>
  
  <pre><code>Cloud provider: AWS
  Kubernetes version: 1.11.6
  Kubelet version: 1.11.6
  Kops version: 1.11
  </code></pre>
  
  <p>I'm at a bit of a loss as to how to debug this further.</p>