Join 1M+ other developers and:
- Get help and share knowledge in Q&A
- Subscribe to topics of interest
- Get courses & tools that help you grow as a developer or small business owner
How to configure DO K8S Managed Load Balancers properly
I have installed nginx-ingress from here: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes.
I have provisioned and configured my Load Balancer on my K8S cluster manually through the Control Panel.
I have created an appropriate Ingress object in my project. All this works. For a while.
As it turns out though, manual configurations on the Load Balancer don’t last long. The DO Cloud Control Manager (CCM) regularly updates the Load Balancer configuration from what it thinks would be best. That overrides my settings (specifically the port numbers) and does not work.
The way to properly configure the Load Balancer is apparently by annotating “the” LoadBalancer Service object. Seen here: https://docs.digitalocean.com/products/kubernetes/how-to/configure-load-balancers/
The problem is, that LoadBalancer service object is created by the nginx-ingress script above (named “nginx-ingress-ingress-nginx-controller”). I don’t own that, it is not managed by my k8s yaml scripts, it’s not even in my namespace.
What is the appropriate process here? Have I missed something? Do I need to own the LoadBalancer service? Should I just patch/overwrite it until it works? Do I leave the load-balancer-id annotation? Do I leave the helm annotations too? (I don’t use Helm) What happens if that script gets updated?
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.×