title: Messages sent beetween different nodes pods are cut
body: <p>I am running a Kubernetes v1.16.0 cluster of one master and three nodes over virtual machines that use Ubuntu 18.04. Installation has been done using Kubespray and virtual images were more or less clean. Also, I have to say that I have been using Kubernetes for years and this is not the first installation I do, so I think that the process I have followed during the installation is correct and has supposed no problems by itself.</p>
  
  <p>What I am facing is that, even when the nodes themselves have no problem communicating with each other, containers running in different nodes are unable to handle messaging correctly. This results in messages that stop after some bytes have been sent and do not try to reconnect never after it. I think this is better explained with examples.</p>
  
  <p>If I serve something over HTTP in <code>node1</code> (an Apache2 website, for example) and curl it from <code>node2</code>, I get all the data with no problem. Communication is handled perfectly. Also, inside of <code>node1</code> I can replicate the same between <code>pod1</code> and <code>pod2</code>. This means that I can use one pod as a server and another one as a client and there is no problem with messaging. However, the problem appears when I try to communicate <code>pod1.node1</code> and <code>pod1.node2</code>. </p>
  
  <p>To understand this let's assume I have two kind of pods: <code>server-pod</code> and <code>client-pod</code>. Once deployed, there is one <code>server-pod</code> in <code>node1</code> and two <code>client-pod</code>, one in <code>node1</code> and the other one in <code>node2</code>. This way, I send curl GET request to <code>server-pod.node1/info</code> and, if I am in <code>node1</code> the answer I get is something like <code>{ "name":"John", "age":30, "car":null }</code>. On the other side, if I sent the curl request from <code>node2</code>, what I get is something like <code>{ "name":"John", "age":30, "c</code> and it just gets blocked there, like waiting for more data. Of course these JSON are longer and are not cut in the first line. I guess that size is related to the MTU.</p>
  
  <p>Additionally, if I query <code>server-pod.node1</code> from <code>client-pod.node2</code> and the response is small enough, communications happens with no problem. The problems seems to appear after some specific response that, again, I think it is related to MTU. I have tried to deploy all the pods of the network using <code>hostNetwork: true</code> flag to mitigate this problem, but then I have to face another one, DNS resolution. If I use host network DNS resolution is done over 8.8.8.8 and <code>client-pod.node2</code> is unable to find <code>server-pod.node1</code>.</p>
  
  <p>Anyone has any idea about why is this happening? I know it is hard to explain but I hope the problem is explained clearly enough.</p>