0

We have several deployments running in Google Kubernetes. Most of them are web services set up with the default configuration, so they have a public IPv4 address which is served by a TCP load balancer.
After realizing we would have far better monitoring capabilities if we had ingresses set up instead, I started adding them for a few services. This went smooth as heck, after pointing the DNS record to the new IP all traffic came in via the ingress instead.

This went well until our IP quota was exceeded, as the old LBs still exist and block an IP address. Now I could simply delete the load balancer, but I don't really understand the distinction between services, load balancers and how it's all wired up to Kubernetes. I'm a little afraid I'd break either service availability, rolling releases or everything at once.

How can I move from default Kubernetes load balancing to an Ingress in production and free the public IP address in the process?

  • Could you share more information your scenario/architecture? You want to use Many LBs or just one LB? You want to use Kubernetes Ingress or GKE Ingress? Do you have any configuration YAMLs? – PjoterS Apr 06 '20 at 12:41
  • I can, I just weren't sure what to include. I'd like to use as few LBs as possible, but the docs don't make it exactly clear how many you need. I want to use a GKE ingress, though I thought that is just an extension on top of K8s ingress? And I'm happy to share any YAML configuration, we just strive to do things via the GCC web UI so I mostly don't work with YAML directly. – Moritz Friedrich Apr 06 '20 at 14:02
  • As per: https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer#step_6_optional_serve_multiple_applications_on_a_load_balancer You can have one LB with proper redirection configuration/ However depends on your needs what exactly you want do there. Regarding YAMLs you can use `--output` flag to get configuration in yaml file e.g YAML for `test` deployment: `kubectl get deployment test -o yaml`. – PjoterS Apr 06 '20 at 14:15

0 Answers0