MHRubel
HomeAboutProjectsSkillsExperienceBlogContact
MHRubel

Senior Software Engineer crafting high-performance web applications and SaaS platforms.

Navigation

  • Home
  • About
  • Projects
  • Skills
  • Experience
  • Blog
  • Contact

Get in Touch

Available for senior/lead roles and consulting.

bd.mhrubel@gmail.comHire Me

© 2026 Mahamudul Hasan Rubel. All rights reserved.

Built with using Next.js 16 & Tailwind v4

Back to Blog
FeaturedKubernetesInfrastructureNetworkingJune 19, 20263 min read

Kubernetes Ingress: NGINX vs Gateway API for Traffic Routing

Master Kubernetes Ingress with our deep dive into the NGINX Ingress Controller and the modern Kubernetes Gateway API for scalable traffic routing and load balancing.

KubernetesIngressNGINXGateway APIDevOpsNetworking
Overhead drone shot of busy city highway with cars and bus, surrounded by trees.

Managing external traffic in a cluster is one of the most critical tasks for any DevOps engineer. If you get it wrong, your services are unreachable; if you get it right, you've built a scalable foundation for your entire platform.

I've spent years debugging complex routing issues, and the choice between the classic Kubernetes Ingress resource and the newer Kubernetes Gateway API often comes down to balancing legacy stability with future-proof flexibility.

The Evolution of Kubernetes Ingress

For the longest time, the standard Ingress object was the go-to for exposing services. It’s simple, widely supported, and works out of the box with almost any controller. The NGINX Ingress Controller is the undisputed king here, currently sitting at version 1.10.x. It uses annotations to configure everything from SSL termination to rate limiting.

However, as clusters grow, those annotations become a maintenance nightmare. You end up with "annotation soup"—a massive, unreadable block of YAML that’s nearly impossible to audit. When you're managing security at scale, you might also want to look at Kubernetes Networking: Implementing Zero-Trust with Cilium and Hubble to ensure your traffic is encrypted and verified before it even hits the ingress layer.

Why NGINX Ingress Controller Remains Relevant

A hand holding a note with the word 'WHY?' against a backdrop of green leaves.

Despite the hype around newer tools, the NGINX Ingress Controller remains my first choice for many projects. It’s mature, performant, and has a community that has solved every edge case imaginable.

YAML
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-app-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  rules:
  - host: api.example.com
    http:
      paths:
      - path: /v1
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80

The simplicity of this manifest is its greatest strength. If you’re just starting or need to get a service exposed quickly, don't over-engineer it. Just keep in mind that as you scale, you'll eventually want to integrate better observability, perhaps by exploring Kubernetes Logging: Implementing Grafana Loki and Promtail to track request patterns through your ingress logs.

Transitioning to Kubernetes Gateway API

The Kubernetes Gateway API is the next generation of traffic management. It moves away from the single, monolithic Ingress object toward a role-oriented model. You now have GatewayClass, Gateway, and HTTPRoute resources.

This decoupling is a game-changer. Infrastructure teams can manage the Gateway (the entry point), while application teams manage the HTTPRoute (the traffic rules). This separation of concerns significantly reduces the risk of accidental misconfigurations.

Key Benefits of Gateway API

  • Expressiveness: Native support for header-based routing, traffic splitting, and retries without relying on controller-specific annotations.
  • Portability: Since it's a standard, switching between implementations (like Cilium, Istio, or Contour) is significantly easier than migrating NGINX-specific annotations.
  • Extensibility: It was designed with custom resources in mind, making it much easier to integrate with Kubernetes CRDs and Controller-Runtime: A Practical Guide to Operators if you're building your own custom routing logic.

Choosing Your Load Balancing Strategy

Wooden scrabble tiles spelling 'Choose Your Battles' on a white background.

When deciding between these two, ask yourself how complex your requirements are. If you need simple path-based routing for a handful of microservices, stick with the NGINX Ingress Controller. It's well-documented and likely already running in your environment.

If you're building a multi-tenant platform or need advanced traffic routing capabilities like canary releases or blue-green deployments, the Gateway API is the clear winner. While you can do canary deployments with NGINX using specific tools, the Gateway API provides a more native, standardized path for these workflows.

Final Thoughts

Whether you choose the standard Ingress or the modern Gateway API, the goal remains the same: reliable, secure, and performant load balancing. Start with what you know, but keep an eye on the Gateway API as it matures. The industry is moving toward this standard, and being prepared for the migration will save you a lot of headaches in the long run.

Back to Blog

Similar Posts

KubernetesJune 19, 20263 min read

Kubernetes Security: Hardening Runtimes with gVisor and Kata

Improve your Kubernetes security by moving beyond standard runtimes. Learn how gVisor and Kata Containers provide robust container isolation for production workloads.

Read more
Detailed image of a server rack with glowing lights in a modern data center.
KubernetesJune 19, 20263 min read

CloudNativePG for Reliable Kubernetes Database Management

CloudNativePG simplifies Kubernetes database management by automating Postgres failover and replication. Learn how to run stable stateful workloads today.

Read more
Close-up of a modern control panel in an Istanbul office with buttons and switches.
KubernetesJune 19, 20264 min read

Implementing Kubernetes Admission Controllers with Kubebuilder

Master Kubernetes Admission Controllers with Kubebuilder. Learn how to build custom Validating Admission Webhooks to enforce cluster-wide policy and security.

Read more