VOOZH about

URL: https://thenewstack.io/ingress-controllers-or-the-kubernetes-gateway-api-which-is-right-for-you/

⇱ Ingress Controllers or the Kubernetes Gateway API? Which Is Right for You? - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2023-11-02 04:00:04
Ingress Controllers or the Kubernetes Gateway API? Which Is Right for You?
sponsor-nginx,sponsored-topic,
Kubernetes

Ingress Controllers or the Kubernetes Gateway API? Which Is Right for You?

A nuanced understanding of the strengths and limitations of each solution is pivotal for making well-informed decisions within your Kubernetes networking strategy.
Nov 2nd, 2023 4:00am by Robert Kimani
👁 Featued image for: Ingress Controllers or the Kubernetes Gateway API? Which Is Right for You?
Image by Ryan McGuire from Pixabay.

Within Kubernetes networking, Ingress controllers and Kubernetes Gateway API assume central roles acting as gateways for managing incoming traffic to Kubernetes applications. These components serve as the crucial intermediaries, orchestrating the intricate interplay of requests and responses within a Kubernetes cluster. They simplify and streamline essential networking tasks, including routing, load balancing, and traffic management.

👁 Image

Duties include:

  • Gateway to Kubernetes Applications: Ingress controllers and `Kubernetes Gateway API serve as the primary entry points for external traffic, connecting the external world to containerized applications.
  • Simplified Routing: These solutions offer a unified and abstract approach to defining routing rules for incoming traffic, eliminating the need for individual service-level routing configurations.
  • Efficient Load Balancing: Automating load balancing is fundamental to ensuring that traffic is evenly distributed across multiple application instances, a role efficiently performed by Ingress controllers and Kubernetes Gateway API.
  • Traffic Management: These solutions provide advanced capabilities for traffic management, including traffic splitting, mirroring, and routing based on various criteria, enhancing application resilience and flexibility.

In essence, Ingress controllers and Kubernetes Gateway API serve as the linchpins that enable seamless communication between Kubernetes applications and the external environments. But which should you use?

Ingress and Its Role in Solving Networking Issues

Ingress serves as a layer for managing external access to services within a Kubernetes cluster. The role of Ingress can be described as follows:

Understanding Ingress and its role is fundamental to grasping how Kubernetes addresses networking challenges. In the subsequent sections, we will explore Ingress controllers and the Kubernetes Gateway API, both of which build upon the foundation laid by Ingress to provide advanced networking solutions.

NGINX, now a part of F5, is the company behind the popular open source project, NGINX. NGINX offers a suite of technologies to develop and deliver modern applications including NGINX Plus for load balancing, App Protect for security, and NGINX Ingress Controller to get control of Kubernetes.
Learn More
The latest from NGINX

Ingress Controllers Demystified

Ingress Controllers are vital components within Kubernetes networking that play a central role in managing external access to services running in a Kubernetes cluster. These controllers act as the traffic cops of your cluster, governing how incoming requests from the external world are routed to specific services and pods within the cluster. They achieve this through a combination of routing, load balancing, and other essential networking functionalities.

At their core, Ingress Controllers:

  • Route Traffic: They are responsible for directing incoming traffic based on predefined rules and configurations, allowing requests to reach the appropriate services within the cluster.
  • Load Balancing: Ingress Controllers often incorporate load balancing capabilities, ensuring that traffic is evenly distributed among the backend services, promoting high availability and optimal resource utilization.

Some Types of Ingress Controllers

  1. Nginx Ingress Controller: The Nginx Ingress Controller is one of the most widely adopted Ingress Controllers in the Kubernetes ecosystem. Leveraging the powerful Nginx web server as its foundation, this controller provides robust traffic management capabilities. It excels in features such as path-based routing, SSL/TLS termination, and customization through annotations.
  2. HAProxy Ingress Controller: The HAProxy Ingress Controller is another popular choice known for its high performance and advanced load-balancing features. It can handle a large number of connections efficiently and offers fine-grained control over routing and traffic policies. HAProxy’s flexibility makes it suitable for complex networking scenarios.
  3. Traefik Ingress Controller: Traefik is a modern and dynamic Ingress Controller designed with ease of use and automation in mind. It supports dynamic service discovery and integrates seamlessly with popular container orchestrators like Kubernetes. Traefik is known for its simplicity, automatic configuration, and support for Let’s Encrypt for SSL/TLS termination.

Ingress Controllers in Action

  1. Routing Traffic to Services: Ingress Controllers serve as traffic managers, enabling the definition of routing rules that dictate how incoming requests are directed to specific Kubernetes services. For example, they can route requests based on hostnames, paths, or other criteria, allowing you to expose different services under various URLs or domains.
  2. SSL/TLS Termination and Authentication:  Ingress Controllers enhance security by handling SSL/TLS termination, ensuring encrypted communication between external clients and services within the cluster. They can also manage authentication and authorization, adding an additional layer of security for your applications.

The Rise of Kubernetes Gateway API

The Kubernetes Gateway API represents an evolution of traditional Ingress resources within the Kubernetes ecosystem. While Ingress controllers served as a valuable entry point for external traffic, they had certain limitations in terms of flexibility and extensibility. Kubernetes Gateway API emerged as a more comprehensive and powerful solution, addressing these limitations.

One of the notable differences is that Kubernetes Gateway API defines networking resources using Custom Resource Definitions (CRDs), providing a more structured and extensible way to define and configure routing and traffic management rules. It leverages the Custom Resource Definition (CRD) framework to extend Kubernetes’ native API and introduce new resource types tailored specifically for networking.

Key Features of Kubernetes Gateway API

  1. Route Definitions:  Kubernetes Gateway API introduces Route resources, which allow users to define sophisticated routing configurations. Routes are resource objects that specify how incoming traffic should be directed to backend services. They offer a higher degree of granularity compared to traditional Ingress resources, allowing for more complex routing decisions.
  2. Traffic Splitting and Mirroring: A key feature of Kubernetes Gateway API is the ability to perform traffic splitting and mirroring. Traffic splitting enables the gradual shift of traffic from one backend service to another, facilitating canary deployments and A/B testing. Traffic mirroring allows you to replicate incoming requests to a different destination for monitoring and debugging purposes without affecting the primary traffic flow.

How Kubernetes Gateway API Addresses Ingress Challenges

The Kubernetes Gateway API addresses several challenges that were inherent in traditional Ingress resources:

  • Enhanced Flexibility: By using CRDs, Kubernetes Gateway API provides a highly flexible and extensible way to define networking configurations. This flexibility enables users to tailor their networking rules to match specific use cases and requirements effectively.
  • Advanced Traffic Control: With the introduction of Route resources, Kubernetes Gateway API offers advanced traffic control capabilities, enabling complex routing scenarios and traffic management strategies that were challenging to achieve with Ingress controllers alone.
  • Better Extensibility: Kubernetes Gateway API’s extensibility through CRDs allows for the easy integration of custom networking solutions and the development of third-party plugins, further enhancing its capabilities and adaptability to evolving networking needs.

When to Choose Ingress Controllers

Ingress Controllers are well-suited for certain use cases, including:

Simplicity and Quick Start: Ingress Controllers are straightforward to set up and great choices for smaller, less complex Kubernetes deployments where ease of configuration is a priority.

Existing Deployments: If you have an existing Kubernetes cluster with Ingress controllers in place and your requirements align with their capabilities, there may be no immediate need to migrate to Kubernetes Gateway API.

When Kubernetes Gateway API Is a Better Fit:

Kubernetes Gateway API is the preferred choice in scenarios where:

Complex Routing and Traffic Control: For more intricate routing configurations, traffic splitting, and advanced traffic management strategies, Kubernetes Gateway API’s Route resources provide the flexibility needed.

Customization and Extensibility: When your networking requirements demand custom solutions or integration with third-party plugins, Kubernetes Gateway API’s CRD-based approach offers greater extensibility.

Ingress Controllers vs. Kubernetes Gateway API

Configuration and Flexibility

Configuring Ingress Controllers often involves the utilization of annotations and ConfigMaps. While this approach can be relatively straightforward for simpler setups, it may pose challenges when confronted with intricate routing and traffic management demands. This complexity can necessitate meticulous configurations and increased maintenance efforts.

In contrast, Kubernetes Gateway API offers a more structured and adaptable configuration process. It leverages Custom Resource Definitions (CRDs), providing a well-defined framework for users to craft custom routing rules, traffic policies, and other networking configurations. This level of structure enhances clarity and empowers users with granular control over their network setups.

Performance and Scalability

Ingress Controllers, by default, offer basic load-balancing capabilities. However, they may encounter difficulties in efficiently handling heavy traffic loads and dynamic scaling requirements. Scaling Ingress Controllers can introduce added intricacy, often involving the implementation of external load balancers or complex configurations.

On the other hand, Kubernetes Gateway API has been purposefully engineered with scalability in mind. It seamlessly integrates with Kubernetes’ inherent scaling mechanisms, making it exceptionally well-suited for large-scale deployments marked by fluctuating traffic patterns. Additionally, its ability to execute traffic splitting and mirroring can be a valuable asset when orchestrating gradual deployments and scaling operations without causing disruptions.

Security and Authentication

When it comes to security and authentication, Ingress Controllers provide SSL/TLS termination to ensure secure communication between clients and services. They also extend support for basic authentication and authorization mechanisms, though more advanced security features may necessitate supplementary configurations or third-party tools.

Conversely, Kubernetes Gateway API advances security by accommodating advanced authentication methods and policies. It offers seamless integration with Identity and Access Management (IAM) systems, empowering users with robust security features right out of the box.

Monitoring and Observability

Monitoring Ingress Controllers typically entails the collection of logs and metrics from various sources, including the controller itself, external load balancers, and Kubernetes components. This process can require the implementation of additional monitoring tools and intricate configurations to achieve comprehensive observability.

On the flip side, Kubernetes Gateway API streamlines observability by natively supporting monitoring resources and routes. This built-in support simplifies the monitoring process and facilitates seamless integration with popular monitoring solutions like Prometheus and Grafana. Consequently, it becomes more straightforward to gain insights into network traffic and configurations.

In conclusion, the choice between Ingress Controllers and Kubernetes Gateway API hinges on specific use cases, configuration needs, performance and scalability requirements, security considerations, and preferences regarding observability. A nuanced understanding of the strengths and limitations of each solution is pivotal for making well-informed decisions within your Kubernetes networking strategy.

NGINX, now a part of F5, is the company behind the popular open source project, NGINX. NGINX offers a suite of technologies to develop and deliver modern applications including NGINX Plus for load balancing, App Protect for security, and NGINX Ingress Controller to get control of Kubernetes.
Learn More
The latest from NGINX
TRENDING STORIES
Robert is a systems engineer and open source advocate who loves sharing knowledge. He believes in helping others and is compassionate about giving back to the community. When he’s not geeking with Linux he likes hiking, mountain biking, and exploring...
Read more from Robert Kimani
SHARE THIS STORY
TRENDING STORIES
NGINX is a sponsor of The New Stack.
TNS owner Insight Partners is an investor in: Pragma.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.