How to make Kubernetes to use the existing Node Balancer after helm upgrade
Sometimes, when we do a helm upgrade ...
, Kubernetes will provision a new Node Balancer in the Linode, instead of using the current working Node Balancer.
It is giving us headaches because the external IP of the LoadBalancer will change after that, so we have to re-config DNS and etc.
Is there any way to tell Kubernetes to use the existing Node Balancer only? Do NOT create a new Node Balancer
1 Reply
Hiya alan_w, I recently was looking into this very situation. Here are a couple of resources I found on the topic.
Using Annotations, you can use the command:
service.beta.kubernetes.io/linode-loadbalancer-preserve: "true"
- When
true
, deleting a LoadBalancer service does not delete the underlying NodeBalancer
- When
You can read about this from our guide on Load Balancing on an LKE Cluster , subsection Configuring Your Linode NodeBalancer with Annotations.
The other resource is from ArtifactHUB on NGINX Ingress Controller packaged by Bitnami. In the subsection Traffic Exposure Parameters, it has a table that lays out the different parameters that can be set to have a static IP address for you Nodebalancer or keep the NodeBalancer.
-Dan R