The VIP will be active on one of the control nodes. All the kube api and cluster calls will be going to VIP URL and hitting the control node in the backend on which VIP is active. If the control node on which VIP is active goes down, the VIP will failover to the other surviving control node via keepalived failover mechanism. This way there is no interruption to the
With the load balancer:
You would have an external hardware/software load balancer which would listen on 6443 port and connect to the backend set of Kubernetes control nodes on port 6443. All the kube api and cluster calls will be to load balancer URL, load balancer will route the requests to one of the backend control nodes based on the load balancer algorithm set - round robin etc. Even if one of the control node on the backend goes down, the kube api calls will still work as the other control nodes are up, and load balancer redirects the kube api calls to control nodes that are up.