In GKE, Ingress object creates a load-balancer and routing-rules in the backend to expose your application. In scenarios, where many users/teams are sharing the underlying networking infrastructure, control and configuration must be separated to minimize access and fault domains.
Such use-cases have limitations:
- For ingress objects, the load-balancer & its routing-rules are created in a combined manner.
- We cannot map multiple services in different namespaces in a single GKE ingress object.
- Mapping of different DNS/hostname of different ingress can’t be bound with the same single IP address.
Gateway Object can be used to overcome this.
- Gateway API has core support for cross-namespace routing.
- Gateway enables the load-balancer and its routing-rules to be deployed separately and be managed by different users/teams across Namespace boundaries.