I am trying to install a Kubernetes cluster with one master node and two worker nodes.
I acquired 3 VMs for this purpose running on Ubuntu 21.10. In the master node, I installed kubeadm:1.21.4
, kubectl:1.21.4
, kubelet:1.21.4
and docker-ce:20.4
.
I followed this guide to install the cluster. The only difference was in my init command where I did not mention the --control-plane-endpoint
. I used calico CNI v3.19.1
and docker for CRI Runtime.
After I installed the cluster, I deployed minio pod and exposed it as a NodePort.
The pod got deployed in the worker node (10.72.12.52
) and my master node IP is 10.72.12.51
).
For the first two hours, I am able to access the login page via all three IPs (10.72.12.51:30981
, 10.72.12.52:30981
, 10.72.13.53:30981
). However, after two hours, I lost access to the service via 10.72.12.51:30981
and 10.72.13.53:30981
. Now I am only able to access the service from the node on which it is running (10.72.12.52
).
I have disabled the firewall and added calico.conf
file inside /etc/NetworkManager/conf.d
with the following content:
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico
What am I missing in the setup that might cause this issue?
This is a community wiki answer posted for better visibility. Feel free to expand it.
As mentioned by @AbhinavSharma the problem was solved by switching from Calico to Flannel CNI.
More information regarding Flannel itself can be found here.