<p>I have a Kubernetes deployment containing a very simple Spring Boot web application. I am experiencing random timeouts trying to connect to this application externally.</p>

<p>Some requests return instantly whereas others hang for minutes.</p>

<p>I am unable to see any issues in the logs.</p>

<p>When connecting to the pod directly, I am able to <code>curl</code> the application and get a response immediately so it feels more like a networking issue.</p>

<p>I also have other applications with the identical configuration running in the same cluster which are experiencing no problems.</p>

<p>I am still quite new to Kubernetes so my question would be:</p>

<p>Where and how should I go about diagnosing network issues?</p>

<p>Can provide more information if it helps.</p>

<p>As you have narrow down the issue to networking which means components of the cluster are healthy such as <strong>Kubelet, Kube-proxy</strong> and etc. </p>

<p>You can check their status by using systemctl utility. For example </p>

<pre><code>systemctl status kubelet
systemctl status kube-proxy
</code></pre>

<p>You can get more detail by using journalctl utility. for example </p>

<pre><code>journalctl -xeu kubelet
journalctl -f -u docker
</code></pre>

<p>Now If you want to know what's the <strong>destiny</strong> of the packets then you need to use iptables utility. It's the one who decides forwarding, routing, and verdict of the packets (incoming or outgoing packetes).  </p>

<p>My plan of action is <strong>Do Not</strong> make any assumptions.I follow following utilities to clear the doubts.</p>

<ul>
<li><p>Kubectl </p>

<p>Kubectl describe pod/svc podName/svcName</p></li>
<li><p>systemctl </p></li>
<li>journalctl</li>
<li>etcdctl </li>
<li>curl</li>
<li>iptables</li>
</ul>

<p>If I still could not solve the issue it means I have made an assumption.</p>

<p>please let me know any other tools I would love to put it on my utility-set</p>
