Closed jheady closed 3 months ago
The servers in the cluster are unable to communicate with each other via IP or name resolution. Commit fb8bbea provides the /etc/hosts
file update to allow the servers to see each other. They are getting host unreachable or no route to host errors.
ansible@kube-worker-node-1:~$ ping kube-master-node-1
PING kube-master-node-1 (192.168.122.150) 56(84) bytes of data.
From kube-worker-node-1 (192.168.122.15) icmp_seq=1 Destination Host Unreachable
From kube-worker-node-1 (192.168.122.15) icmp_seq=2 Destination Host Unreachable
From kube-worker-node-1 (192.168.122.15) icmp_seq=3 Destination Host Unreachable
^C
--- kube-master-node-1 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4046ms
ansible@kube-master-node-1:~$ ping 192.168.122.15
ping: connect: No route to host
ansible@kube-master-node-1:~$ ping 192.168.122.192
ping: connect: No route to host
ansible@kube-master-node-1:~$
Even more oddities for this issue. At the last build of the cluster only one worker node lost connectivity to the other worker and the master. It was still able to access the internet, and the host machine, but not the other guests in the network. The other worker and the master node were able to communicate with each other with no problems. Rebooting the problematic guest had no impact. Nor did using virsh to destroy/start the system. Checking journalctl _SYSTEMD_UNIT=libvirtd.service
showed no issues that could lead to the cause.
Potential reason for the network to not work between the clusters is due to the machine UUIDs in /etc/machine-id are identical when cloned. Rebuilding under proxmox, and will be blanking UUIDs prior to cloning the nodes.
From the kubeadm installation guide: Verify the MAC address and product_uuid are unique for every node You can get the MAC address of the network interfaces using the command ip link or ifconfig -a The product_uuid can be checked by using the command sudo cat /sys/class/dmi/id/product_uuid It is very likely that hardware devices will have unique addresses, although some virtual machines may have identical values. Kubernetes uses these values to uniquely identify the nodes in the cluster. If these values are not unique to each node, the installation process may fail.
Unable to resolve issue, and have moved to a new hypervisor system using Proxmox. Closing this issue as won't fix.
In order to allow the hosts to communicate with each other properly, they need to communicate via DNS entries. This can be done by updating the
/etc/hosts
file for each server to include the IP and hostname for all the servers.