all 4 machines are inside a private network (no public access it required to manage the orchestration).
I’ve set up a nginxdemos\hello service (scal to 4) and an internal Load Balancer (available on every host) to spread the load.
Accessing each of the hosts’ Private/Internal IP addresses results in the sample hello page == working as expected.
For the POC, I would like to set a domain to point at the new stack and serve the same service.
If I want to avoid Round-Robin DNS and since there is only 1 single Public IP, what are my options?
second phase of this POC would be to set up a second environment/stack to serve a different server/application to a different domain.
There’s no round robin involved from the public side, since you only have one IP. Your problem is you need to keep that IP bound to a machine that is healthy, and the only answer is “it depends” on where you’re running.
In a public cloud you can use their LB-as-a service to have one public name/IP(list) that only forwards packets to healthy backend machines. Or use their API to move a floating IP between nodes (but then that has to run somewhere).
For bare metal there’s things like metallb (for k8s/2.0) or keepalived/vrrp to automate “physically” moving the public IP between machines. But you need a network that is going to allow gratuitous ARP (essentially one machine stealing the IP from another), or BGP (unlikely if you have one IP…) for those to function.
There’s no round robin involved from the public side, since you only have one IP. Your problem is you need to keep that IP bound to a machine that is healthy, and the only answer is “it depends” on where you’re running.
Yes, I mentioned it because all the tutorial out there talk about “point the DNS to your host(s)” and yes, I could assign a public IP to each host, but that doesn’t sound very efficient (specially if I wish to remove/add hosts).
For bare metal there’s things like metallb (for k8s/2.0) or keepalived/vrrp to automate “physically” moving the public IP between machines. But you need a network that is going to allow gratuitous ARP (essentially one machine stealing the IP from another), or BGP (unlikely if you have one IP…) for those to function.
Yes, using my own bare metals, on a private datacenter, so I could (try and) do some tricks with the network if needed - though I am looking for stability first.
Do you happen to have any tutorial I could look at?