简体   繁体   中英

GKE Ingress creates multiple backend services for the load balancer while NGINX ingress creates just one

While working with GKE ingress, I have observed that GKE Ingress creates multiple backend services for the load balancer which results in having so many backend services and we even faced the Quota exhausted issues for the backendservices as its global quota. The question I have is, Despite having multiple path rules in ingress why NGINX ingress controller does not create multiple backend services like GCE ingress does. I read the documentation here,

https://cloud.google.com/kubernetes-engine/docs/concepts/ingress#multiple_backend_services

however, I did not get the details or comparison of working of NGINX and GKE ingress controller on this specific aspects (of backend services).

The why is easy to answer: it's not the same technology used. In detail, I will try to give you some insights.

GKE Ingress is a wrapper to use Google Cloud native building blox: forwarding rules, url maps, target HTTP proxy, backends,....

When a request comes in, the Google Cloud platform components do their job, and at the end, the K8S cluster is reached through the correct backend (and services).


NGINX ingress works differently. All the routing is performed internally by NGINX pods deployed directly inside the cluster. Few Google Cloud component are used and all the stuff are performed internally.

You consume more cluster resources to perform the routing but less Google Cloud resources, and you don't reach any resource quota.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM