ovh / public-cloud-roadmap

Agile roadmap for OVHcloud Public Cloud services. Discover the features our product teams are working on, comment and influence our backlog.
https://www.ovhcloud.com/en/public-cloud/
186 stars 5 forks source link

Fixed IP(s) for loadbalancer #209

Open kiorky opened 2 years ago

kiorky commented 2 years ago

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.

mhurtrel commented 2 years ago

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

kiorky commented 2 years ago

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.

errnesto commented 2 years ago

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?

JustDoItSascha commented 2 years ago

Any updates on this?

klbrvik commented 1 year ago

Bump.

Tronix117 commented 1 year ago

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 ?

LisaPerrier commented 1 year ago

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.

thomas-aw commented 1 year ago

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

JustDoItSascha commented 1 year ago

@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.

thomas-aw commented 1 year ago

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 ?

JustDoItSascha commented 1 year ago

@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.

thomas-aw commented 1 year ago

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

JustDoItSascha commented 1 year ago

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).

thomas-aw commented 1 year ago

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

JustDoItSascha commented 1 year ago

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

sashokbg commented 9 months ago

Hello any updates from OVH team on this feature ?

antonin-a commented 9 months ago

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.