I am working on designing a solution with HA and load distribution. I have a question about how the relationship can be built between a worker node and master node to support HA (Fault Tolerance) and load distribution.
My understanding that a worker node is managed by a master node which means that during the building of a worker node, we make it join a master node in order to build the trust and link with the master node.
So now if I want to build HA for the cluster on the master node:
- I am going to define 3 master nodes, each has an API server with a loadbalancer in-front of them.
- build ETCD cluster externally having 3 nodes and make the master nodes uses them.
- the 3 master nodes will have each a scheduler.
Going to the worker node:
- I start the worker node by making it join to a master using the VIP/loadbalanced API-server.
So my questions are:
- on the 3 master nodes, should we have a controller?
- Can we link the worker node to the 3 master nodes? if Yes, What is the benefit of that? Isn't it better to use the loadbalancer/VIP? Will, in that case, we still have the limitation of 5000 nodes? or can it be up to 5000X3 worker nodes?
- Can we have a cluster of API-server with active-passive just like we do in etcd? even if we can do it just using a set of configurations in the initialization phase?