Announcements
The Google Cloud Community will be in read-only from July 16 - July 22 as we migrate to a new platform; refer to this community post for more details.
Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Choosing an Ingress Controller for GKE Autopilot multi cluster deployments?

We have a migration project which uses kong 3rd party Ingress controller heavily with local k8s development and looking to deploy new infra from scratch on GKE Autopilot with multi cluster setup.  We are contemplating migrating to GKE native Ingress. I would like to know the pros and kons of Kong vs GKE Ingress with GKE Autopilot multi cluster deployments

Solved Solved
0 2 805
1 ACCEPTED SOLUTION

Hi @dheerajpanyam,

Welcome to Google Cloud Community!

The choice between Kong Ingress Controller and GKE Native Ingress Controller depends on your specific needs and requirements. If you need a highly scalable, feature-rich ingress solution with a large community, Kong Ingress Controller may be the better choice. If you need a simple, cost-effective ingress solution with seamless integration with GKE, GKE Native Ingress may be the better choice.

The Kong Ingress Controller enables you to run Kong Gateway as a Kubernetes Ingress to manage incoming requests for a Kubernetes cluster. In contrast, the Multi-Cluster Ingress Controller is a cloud-hosted controller designed for Google Kubernetes Engine (GKE) clusters.

When using Kong Ingress Controller, it utilizes ingress classes to filter Kubernetes Ingress objects and resources, converting them into Kong configurations. This enables it to operate alongside other ingress controllers or deployments within the same cluster, processing only the configurations designated for its use.

When using Multi-Cluster Ingress, it enhances the global external Application Load Balancer with proxies at over 100 Google points of presence, reducing latency by routing requests to the nearest GKE cluster using anycast. It efficiently routes traffic by terminating HTTP and HTTPS connections at the edge. As an Ingress controller, it configures the load balancer with network endpoint groups (NEGs), deploying resources and tracking healthy Pod endpoints dynamically.

Summary of Pros and Cons of Kong Ingress Controller

Pros:

  • Highly Customizable: Allows users to tailor configurations to specific needs.
  • Robust Security Features: Offers authentication, rate limiting, and SSL/TLS termination for enhanced security.
  • Supports Multiple Protocols: Compatible with HTTP/1.1, HTTP/2, WebSockets, and more.
  • Kubernetes Integration: Seamlessly integrates with Kubernetes for easy application deployment and management.
  • Open-Source: Free to use and customize.

Cons:

  • Steep Learning Curve: Requires significant expertise for setup and management.
  • Complex Configuration: Configuration can be time-consuming and prone to errors.
  • Resource-Intensive: May require substantial CPU and memory resources.
  • Limited Multi-Cluster Support: Not designed for multi-cluster environments, making it less suitable for large-scale deployments.

Summary of Pros and Cons of Multi-Cluster Ingress Controller

Pros:

  • Simplified Management: Eases ingress traffic management across multiple clusters.
  • Improved Scalability: Supports horizontal scaling to handle large traffic volumes.
  • Enhanced Cluster Federation: Allows a single control plane to manage multiple clusters.
  • Better Multi-Cluster Support: Specifically designed for multi-cluster environments, ideal for large-scale deployments.
  • Easier Setup and Management: Features a simpler configuration model for quick setup.

Cons:

  • Limited Customization Options: Offers less flexibility compared to Kong Ingress Controller.
  • Less Robust Security Features: Security capabilities are not as strong as those in Kong Ingress Controller.
  • Limited Protocol Support: Supports fewer protocols, which may not suit applications needing diverse protocols.
  • Infrastructure Dependence: Reliant on the underlying infrastructure, making it less suitable for complex environments.

I hope the above information is helpful.

View solution in original post

2 REPLIES 2

Hi @dheerajpanyam,

Welcome to Google Cloud Community!

The choice between Kong Ingress Controller and GKE Native Ingress Controller depends on your specific needs and requirements. If you need a highly scalable, feature-rich ingress solution with a large community, Kong Ingress Controller may be the better choice. If you need a simple, cost-effective ingress solution with seamless integration with GKE, GKE Native Ingress may be the better choice.

The Kong Ingress Controller enables you to run Kong Gateway as a Kubernetes Ingress to manage incoming requests for a Kubernetes cluster. In contrast, the Multi-Cluster Ingress Controller is a cloud-hosted controller designed for Google Kubernetes Engine (GKE) clusters.

When using Kong Ingress Controller, it utilizes ingress classes to filter Kubernetes Ingress objects and resources, converting them into Kong configurations. This enables it to operate alongside other ingress controllers or deployments within the same cluster, processing only the configurations designated for its use.

When using Multi-Cluster Ingress, it enhances the global external Application Load Balancer with proxies at over 100 Google points of presence, reducing latency by routing requests to the nearest GKE cluster using anycast. It efficiently routes traffic by terminating HTTP and HTTPS connections at the edge. As an Ingress controller, it configures the load balancer with network endpoint groups (NEGs), deploying resources and tracking healthy Pod endpoints dynamically.

Summary of Pros and Cons of Kong Ingress Controller

Pros:

  • Highly Customizable: Allows users to tailor configurations to specific needs.
  • Robust Security Features: Offers authentication, rate limiting, and SSL/TLS termination for enhanced security.
  • Supports Multiple Protocols: Compatible with HTTP/1.1, HTTP/2, WebSockets, and more.
  • Kubernetes Integration: Seamlessly integrates with Kubernetes for easy application deployment and management.
  • Open-Source: Free to use and customize.

Cons:

  • Steep Learning Curve: Requires significant expertise for setup and management.
  • Complex Configuration: Configuration can be time-consuming and prone to errors.
  • Resource-Intensive: May require substantial CPU and memory resources.
  • Limited Multi-Cluster Support: Not designed for multi-cluster environments, making it less suitable for large-scale deployments.

Summary of Pros and Cons of Multi-Cluster Ingress Controller

Pros:

  • Simplified Management: Eases ingress traffic management across multiple clusters.
  • Improved Scalability: Supports horizontal scaling to handle large traffic volumes.
  • Enhanced Cluster Federation: Allows a single control plane to manage multiple clusters.
  • Better Multi-Cluster Support: Specifically designed for multi-cluster environments, ideal for large-scale deployments.
  • Easier Setup and Management: Features a simpler configuration model for quick setup.

Cons:

  • Limited Customization Options: Offers less flexibility compared to Kong Ingress Controller.
  • Less Robust Security Features: Security capabilities are not as strong as those in Kong Ingress Controller.
  • Limited Protocol Support: Supports fewer protocols, which may not suit applications needing diverse protocols.
  • Infrastructure Dependence: Reliant on the underlying infrastructure, making it less suitable for complex environments.

I hope the above information is helpful.

Thanks @nmagcalengjr 

Top Labels in this Space