Member-only story

Downside of using GCE Ingress

TJ. Podobnik, @dorkamotorka
3 min readApr 10, 2023

--

Recently, I’ve been experimenting with different ingress controllers on the Google Cloud Platform (GCP) and stumbled upon an interesting but also frustrating finding. GCP provides its own implementation of the Ingress controller that is pre-installed and pre-configured. You simply need to provide an Ingress resource definition with the kubernetes.io/ingress.class: “gce” annotation and you’re good to go. It’s easy and saves you from having to choose, install, and configure other publicly available Ingress controllers like Nginx or Traefik. But there’s a catch.

Photo by Mitchell Luo from Unsplash

The Problem

The problem with the GCE Ingress Controller is that Google has approached the problem in a predatory manner — as if they only wish to drain money from their customers. GCP lacks support for having multiple Ingress resources per single load balancer. This means that if you require multiple Ingress resources for potentially different services of your company, using the GCE Ingress Controller would imply that each of these Ingress Controllers would have its own External Load Balancer (LB), requiring its own Public Static IP. External Static IPs come at a cost and this brings additional resource, operation, and configuration costs.

You might think of configuring one large Ingress resource instead, but this soon becomes unmanageable. This might work for some, but there’s a…

--

--

TJ. Podobnik, @dorkamotorka
TJ. Podobnik, @dorkamotorka

No responses yet