Kubernetes Gateway API on Amazon EKS with Traefik
Learn how to deploy Kubernetes Gateway API on Amazon EKS using Traefik as the controller, managed via Terraform with Node.js apps.

Stock photo for illustration only, not from the actual event
- nginx Ingress controller has announced end of active support
- Gateway API reached GA v1.0 in October 2023
- Traefik acts as the pluggable Gateway controller on Amazon EKS
- Infrastructure is fully provisioned using Terraform and Route53
The era of relying solely on the traditional nginx Ingress controller for routing external HTTP traffic into Kubernetes clusters is coming to an end. With nginx Ingress entering maintenance-only mode, the Kubernetes SIG-Network team officially recommends migrating to the modern Gateway API specification.
In this guide, we explore what Gateway API is, why it matters for modern clusters, and how to deploy a production-ready Node.js application on Amazon EKS using Traefik as the Gateway controller, all managed seamlessly through Terraform.

Stock photo for illustration only, not from the actual event
The Gateway API is a collection of official Kubernetes Custom Resource Definitions (CRDs) designed to succeed the legacy Ingress resource. It graduated to GA (v1.0) in October 2023 and has seen steady adoption due to its layered model and clear separation of concerns between platform operators and application developers.
The architectural shift from Ingress to Gateway API solves long-standing limitations of the flat Ingress spec. Platform teams can securely manage the central Gateway and provision load balancers, while application teams deploy HTTPRoutes inside isolated namespaces without requiring cluster-wide permissions.
The underlying infrastructure and routing topology consist of the following key components:
- A single AWS Network Load Balancer automatically provisioned by EKS
- Traefik Pods deployed with 2 replicas in a dedicated traefik namespace
- Isolated HTTPRoutes routing traffic to distinct backend Node.js applications
The demonstration repository includes two distinct Node.js routing patterns. Part 01 implements hostname-based routing using app1 and app2 subdomains, while Part 02 handles URL rewriting paths, both mapped cleanly via Route53 A-alias records pointing to the single Traefik NLB.
Source: Dev.to
Found something wrong in this article? Report an issue with this article
Comments
Leave a Comment