<p>Occasionally, I see an issue where a pod will start up without network connectivity. Because of this, the pod goes into a CrashLoopBackOff and is unable to recover. The only way I am able to get the pod running again is by running a <code>kubectl delete pod</code> and waiting for it to reschedule. Here's an example of a liveness probe failing due to this issue:</p>

<p><code>Liveness probe failed: Get http://172.20.78.9:9411/health: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)</code></p>

<p>I've also noticed that there are no iptables entries for the pod IP when this happens. When the pod is deleted and rescheduled (and is in a working state) I have the iptables entries.</p>

<p>If I turn off the livenessprobe in the container and exec into it, I confirmed it has no network connectivity to the cluster or the local network or internet.</p>

<p>Would like to hear any suggestions as to what it could be or what else I can look into to further troubleshoot this scenario.</p>

<p>Currently running:</p>

<p>Kubernetes version: </p>

<pre><code>Client Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.7",
GitCommit:"92b4f971662de9d8770f8dcd2ee01ec226a6f6c0", 
GitTreeState:"clean", BuildDate:"2016-12-10T04:49:33Z", 
GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}

Server Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.7",  
GitCommit:"92b4f971662de9d8770f8dcd2ee01ec226a6f6c0", 
GitTreeState:"clean", BuildDate:"2016-12-10T04:43:42Z", 
GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}
</code></pre>

<p>OS: </p>

<pre><code>NAME=CoreOS
ID=coreos
VERSION=1235.0.0
VERSION_ID=1235.0.0
BUILD_ID=2016-11-17-0416
PRETTY_NAME="CoreOS 1235.0.0 (MoreOS)"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
</code></pre>

<p>Looks like your network driver is not working properly. Without more information about your setup, I could only suggest you the following:</p>

<ol>
<li>Find out what network driver was used? You can tell by checking kubelet <code>--network-plugin</code> flag. If no network plugin is specified, then it is using native docker network. </li>
<li>Given the network driver, examine the pod network setup and see what is missing. Use tcpdump to see where the packet goes. </li>
</ol>
