Currently the kubeadm config and workflow is centered around a single control plane node and any number of worker nodes. This requires additional workarounds when trying to bootstrap and manage clusters with an HA control plane. I believe there is a path forward that would help streamline the effort required to stand up a fully managed HA control plane including etcd.
- Etcd Config Changes
- Modify the local etcd config to have an additional parameter for exposing etcd ports or to expose the ports by default
- Add a attribute to override the exposed advertised ip, preferably by choosing an interface to use for detection
- Make API Server Load Balancer config more explicit instead of just overriding the api config
- Add new attribute to specify a load balancer, which will implicitly set the api config if not explicitly set
- Control Plane join/extend workflow