I’m searching for a multi host LB solution to be not dependent on one docker / rancher host.
I have an idea, but don’t know if it would possible or easy to do (with rancher).
I have one location with multiple hosts as rancher environment. The LB should be global / host independent, but have to proxy containers running on different hosts.
Instead of a HA setup I try to make it possible to run a single LB with a docker custom network (routed public ip address / subnet). If the current host of the LB is down, rancher server should start it at another host with the same routed, public ip address. So the LB should be move to a active host if the current host goes down.
Is such a solution possible or should I setup something like a Keepalived HA with VIP?
In simple words:
I’m searching for a solution to be independent from a single host. Backend containers running on hosts scheduled by Rancher, but the public ip address (resolved by DNS / running the LB) shouldn’t be host dependent.
I’m not entirely sure what you are asking, but if you schedule your rancher load balancer using the scheduling rules to run on every host, it works just fine. In our case we have AWS elastic load balancers in front of this and all the hosts are added as backends and traffic is routed properly and with high availability.
You can schedule the rancher load balancer to run on every host in the Scheduling tab in the GUI or using a label io.rancher.scheduler.global=true in the docker-compose.yml file.
I’ve only been able to come up with the Keepalived + floating IP thing…
So for now I’m just setting up my thing without and once I get that all working I’ll tackle this keepalived approach and hopefully figure out something simple to manage
If it gets too hard to do it the docker way I’ll just spin up 2x VMs and do the bare metal way