In some instances, especially during upgrades/migrations to DKP 2.X, you might notice that the cluster is unreachable at its kube-vip endpoint.
If you investigate the running containers on the control plane nodes, you may find that the kube-vip pods are failing with errors resembling the following:
20XX-XX-XXTXX:XX:XX stderr F EXXXX XX:XX:XX 1 leaderelection.go:322] error retrieving resource lock kube-system/plndr-cp-lock: Get "https://control-plane-0:6443/apis/coordination.k8s.io/v1/namespaces/kube-system/leases/plndr-cp-lock": dial tcp: lookup control-plane-0 on 1.2.3.4:53: no such host
This is related to a known issue documented here:
https://github.com/kube-vip/kube-vip/issues/133
The cause is due to a control plane node name not being able to resolve itself via DNS. This can be resolved by adding an entry for itself in each control plane node's /etc/hosts file containing its hostname and IP address.
Once that is done, ensure that the control plane is able to look itself up by its hostname, and the kube-vip pods should then start up successfully.