<p>I am trying to install a Kubernetes cluster with one master node and two worker nodes.</p>
<p>I acquired 3 VMs for this purpose running on Ubuntu 21.10. In the master node, I installed <code>kubeadm:1.21.4</code>, <code>kubectl:1.21.4</code>, <code>kubelet:1.21.4</code> and <code>docker-ce:20.4</code>.</p>
<p>I followed <a href="https://computingforgeeks.com/deploy-kubernetes-cluster-on-ubuntu-with-kubeadm/" rel="nofollow noreferrer">this guide</a> to install the cluster. The only difference was in my init command where I did not mention the <code>--control-plane-endpoint</code>. I used calico CNI <code>v3.19.1</code> and docker for CRI Runtime.</p>
<p>After I installed the cluster, I deployed minio pod and exposed it as a NodePort.
The pod got deployed in the worker node (<code>10.72.12.52</code>) and my master node IP is <code>10.72.12.51</code>).
For the first two hours, I am able to access the login page via all three IPs (<code>10.72.12.51:30981</code>, <code>10.72.12.52:30981</code>, <code>10.72.13.53:30981</code>). However, after two hours, I lost access to the service via <code>10.72.12.51:30981</code> and <code>10.72.13.53:30981</code>. Now I am only able to access the service from the node on which it is running (<code>10.72.12.52</code>).</p>
<p>I have disabled the firewall and added <code>calico.conf</code> file inside <code>/etc/NetworkManager/conf.d</code> with the following content:</p>
<pre><code>[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico
</code></pre>
<p>What am I missing in the setup that might cause this issue?</p>

Abhinav Sharma
<p>This is a community wiki answer posted for better visibility. Feel free to expand it.</p>
<p>As mentioned by @AbhinavSharma the problem was solved by switching from Calico to Flannel CNI.</p>
<p>More information regarding Flannel itself can be found <a href="https://github.com/flannel-io/flannel" rel="nofollow noreferrer">here</a>.</p>
