public-cloud-roadmap icon indicating copy to clipboard operation
public-cloud-roadmap copied to clipboard

Fixed IP(s) for loadbalancer

Open kiorky opened this issue 2 years ago • 17 comments

As a managed kubernetes user, I want to be able to link one or more IPs to my loadbalancer service.

The bonus would be that i can tie any IPFO belonging to my OVH account to that specific loadbalancer.

Goal is to route incoming trafic to a stable IP endpoint that can be remapped to another endpoint whenever i want and for whatever reason i have.

This is tied to #103 and i think we need both.

kiorky avatar Mar 23 '22 16:03 kiorky

Hello @kiorky I agree this is different from #103 I just want to highlight that load balancer have a fixed IP. You can change the services it points to and the IP will remain, given you do not destroy this load balancer. What I think I understand you would want is the capability to point a floating IP to a given load balancer (or another load balancer at another time). It is not possible at the moment, but I think it will be supported by Octavia load balancer at a later time. cc @jakubfovh

mhurtrel avatar Mar 23 '22 19:03 mhurtrel

Yes, i want to have like with many services at OVH the possibility to wire an IPFO which can be mapped on that LB or to another service (baremetal, other VM, etc).

Idea behind the scene is that as the IPFO remains over time,it's easier from a customer POV to map DNS configurations and other network rules on that ip fo, whatever service is really bound behind. This also make migrations easier as the IPFO is the only thing to switch from one service to another.

kiorky avatar Mar 24 '22 08:03 kiorky

given you do not destroy this load balancer

I'm always really scared when I want to update or configure something on my ingress controller (via helm) that it will be recreated and I'll loose my IP. Which means I have to inform external parties to update their configs.

But yes IPFO would be the perfect solution for this.

Or is there a way to keep the ovh loadbalancer even when the k8s resource is destroyed?

errnesto avatar Mar 30 '22 13:03 errnesto

Any updates on this?

JustDoItSascha avatar Oct 18 '22 15:10 JustDoItSascha

Bump.

klbrvik avatar Feb 09 '23 17:02 klbrvik

Happened to me last week, lost the main IP, had to whitelist it again everywhere, was painful… Do you have any ETA for when a solution will be available ?

Tronix117 avatar Mar 22 '23 20:03 Tronix117

Hello @Tronix117, I am very sorry this happened. We do not have a clear enough ETA right now but I'll make sure to update here as soon as I have one.

LisaPerrier avatar Mar 23 '23 11:03 LisaPerrier

I'm migrating from GCP, when this feature will be available ? Thanks

thomas-aw avatar Apr 24 '23 09:04 thomas-aw

@thomas-aw Better stick to GCP if you need this feature. Features in general coming in slow-mo here 🤣 If you don't need this feature, ovh is a decent cloud.

JustDoItSascha avatar Apr 24 '23 09:04 JustDoItSascha

I need it for health data hosting :rofl:

I'm trying to use octavia ingress controller + nginx ingress controller but octavia doesn't support cert-manager ...

@JustDoItSascha did you find any workaround ?

thomas-aw avatar Apr 24 '23 10:04 thomas-aw

@thomas-aw Yes, you have to create the load balancer yourself and assign the floating ip to it. You have to use "NodePort" as service typ in your nginx ingress controller. And then you have to create listeners for the load balancer to connect it to the ips of your nodes and there respective node ports of the service.

Works good, but you have to adjust the setup whenever you make changes to your nodes and for example add new machines.

And one pro tip from me: When you create the "members" for the load balancer, there is a timeout option, set to 5 seconds, set it to 10ms or something very low. They have network problems within the cluster and are not able to find the root cause. If you don't change it to a low timeout, your api or whatever will sometimes have long load times.

JustDoItSascha avatar Apr 24 '23 12:04 JustDoItSascha

@JustDoItSascha Awesome, many thanks. Do you have exemple of nodeport for nginx ingress controller ?

thomas-aw avatar Apr 24 '23 12:04 thomas-aw

I'm not sure what you mean? If you use an ingress controller in your kubernetes environment, for example nginx ingress controller, it will have an service for incoming requests. Per Default its a service of type "LoadBalancer" and it will automatically start a loadbalancer for you.

You have to change it to "NodePort", then it will assign a port for your service on every node of your cluster. The port is often something like 32xxxx. Then you start your load balancer manually and you reroute all the traffic to the port (e.g. 32222, whatever it will be on your cluster).

JustDoItSascha avatar Apr 24 '23 13:04 JustDoItSascha

Ok, it's exactly what i wanted, many thanks ;) You should work for ovh :p

thomas-aw avatar Apr 24 '23 13:04 thomas-aw

Better: I could work for you! I'm a freelancer ;-)

JustDoItSascha avatar Apr 24 '23 13:04 JustDoItSascha

Hello any updates from OVH team on this feature ?

sashokbg avatar Mar 02 '24 19:03 sashokbg

Hello @sashokbg, it will be possible using OVHcloud Public Load Balancer (https://www.ovhcloud.com/fr/public-cloud/load-balancer/). The integration with MKS is currently in Alpha (you can join it be contacting us on our official Discord: https://discord.gg/ovhcloud) and will be in open Beta soon.

antonin-a avatar Mar 05 '24 22:03 antonin-a