<p>For some reason I'm unable to <strong>curl</strong> my service or pod exposing the service. Below setup used to work - not anymore.</p>

<pre><code>$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80

$ kubectl get svc,pods -o wide
NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE    SELECTOR
service/nginx        ClusterIP   10.109.212.238   &lt;none&gt;        80/TCP    12m    app=nginx

NAME                            READY   STATUS    RESTARTS   AGE   IP          NODE               NOMINATED NODE   READINESS GATES
pod/nginx-866795cfb8-ff5zv      1/1     Running   0          13m   10.47.0.2   nebula-web01       &lt;none&gt;           &lt;none&gt;
</code></pre>

<p>Getting application content from Service IP or Pod IP results with this error.</p>

<pre><code>$ curl 10.109.212.238
curl: (7) Failed connect to 10.109.212.238:80; No route to host

$ curl 10.47.0.2 
curl: (7) Failed connect to 10.47.0.2:80; No route to host
</code></pre>

Lukasz Dynowski
<p>Funny enough I discovered that the error appeared only on <code>nebula-web01</code> node. If I deployed the same application on different node e.g. <code>nebula-web02</code> and <strong>curl</strong> Service IP or Pod IP then the application returned its content. This made me think that there has to be something wrong with <code>nebula-web01</code> setup.  </p>

<p>What fixed my problem was to restarting <code>docker</code> and <code>kubelet</code> daemon on <code>nebula-web01</code> node. </p>

<pre class="lang-sh prettyprint-override"><code>$ systemctl restart docker
$ systemctl restart kubelet
</code></pre>

<h1>Notes</h1>

<p>Additonaly, you might disable <code>firewall</code> and flush <code>iptables</code> according to <a href="https://github.com/rancher/rancher/issues/6139#issuecomment-251558161" rel="nofollow noreferrer">this instructions</a>.  </p>
