How to configure kubelets to point to load balancer that is fronting several API servers?

Hi,
Once I’ve setup a load balancer to front several API servers, how can I configure the worker nodes (and rancher for that matter) to use the DNS or IP of the load balancer? Currently they’re only pointing directly at first API server that was setup. This is apparent when I bring the first API server node down and rancher complains about not being able to connect to <APIServer1_IP:6443>.

I would like to know this as well. How does the Rancher 2.2 RKE worker node kubelets connect to the API server? Is this tunable somewhere if, say, you add a hardware load balancer in front of your control plane nodes’ API server some time later?

Answered this myself-

No need to!

Kubelet connects to localhost:6443, which is running the “nginx-proxy” docker that rke-tools provides. This nginx-proxy provides a load balancing reverse proxy for all the controlplane API servers.

Executing a shell in the “nginx-proxy” docker on a worker node:

bash-4.4# ps aux
PID USER TIME COMMAND
1 root 0:00 {nginx-proxy} /bin/sh /usr/bin/nginx-proxy CP_HOSTS=10.104.83.24,10.104.83.23,10.104.83.22
12 root 0:00 nginx: master process nginx -g daemon off;
13 nginx 0:00 nginx: worker process
14 nginx 0:30 nginx: worker process
15 nginx 0:00 nginx: worker process
16 nginx 0:00 nginx: worker process
17 nginx 0:00 nginx: worker process
18 nginx 0:00 nginx: worker process
19 nginx 0:00 nginx: worker process
20 nginx 0:00 nginx: worker process
21 root 0:00 /bin/bash
37 root 0:00 ps aux

CP_HOSTS are the controlplane hosts. So that’s pretty cool.