AWS EKS
Load Balancers
VPC Lattice
In this article, we’ll dive into the Kubernetes Gateway API—the next-generation v2 of Ingress—and see how AWS implements it via VPC Lattice. You’ll learn:
- Traffic flow into Kubernetes clusters
- Advanced features of the Gateway API
- How VPC Lattice extends service networking across VPCs, accounts, and regions
Kubernetes Gateway API Overview
Ingress controllers route Layer 7 traffic based on hosts or URL paths. The Gateway API extends this by supporting multiple protocols (HTTP, TCP, UDP, gRPC, TLS) and offering more granular control.
In AWS EKS, the Lattice Controller serves as a specialized Gateway Controller, managing Gateway API resources for you.
Traditional Ingress vs. Gateway API
With a traditional Ingress setup, you deploy an Ingress Controller behind an external Load Balancer. The controller inspects HTTP requests and forwards them to Services by host or path.
The Gateway API preserves this topology—external Load Balancer plus in-cluster controller—but introduces three core resources:
Resource | Purpose | Example Use Case |
---|---|---|
GatewayClass | Selects the controller implementation (e.g., Lattice, Istio) | gateway.networking.k8s.io/v1beta1 |
Gateway | Binds external listeners (ports/protocols) to Routes | Expose HTTP on port 80 |
Route Types | Split by protocol: HTTPRoute, TLSRoute, TCPRoute, UDPRoute, GRPCRoute | Fine-grained traffic matching rules |
AWS VPC Lattice Service Networks
AWS VPC Lattice offers a service-mesh–style abstraction for your VPCs without the complexity of peering or Transit Gateways. Central to this model is the Service Network, which uses AWS Cloud Map to register endpoints and perform service discovery.
When Kubernetes workloads join a Lattice Service Network, pod IPs are flattened across clusters just as a CNI flattens IPs inside a cluster.
Integrating Kubernetes with VPC Lattice
Here’s how traffic flows when a pod communicates across the Service Network:
- Pod sends a request to a Service Network DNS name.
- The Lattice Gateway Controller creates and updates service endpoints in Cloud Map.
- The request traverses the Service Network to reach the target endpoint (pod, EC2, or Lambda).
- A gateway at the target side injects traffic into its local CNI or compute runtime.
Note
AWS Lattice supports hybrid environments—traffic can route to other EKS clusters, EC2 instances, AWS Lambda, or external services registered in Cloud Map.
Considerations and Challenges
While VPC Lattice streamlines cross-VPC communication, there are trade-offs:
Challenge | Impact |
---|---|
IAM Dependency | Every service call relies on IAM policies—complex rules for pods/services |
Provisioning Latency | Service Network and Cloud Map updates can take 5–10 minutes to complete |
Warning
Frequent Gateway API or Service Network changes may incur delays. Plan your deployment workflows to batch updates when possible.
AWS VPC Lattice is ideal for enterprise-scale environments requiring strict isolation and multi-account routing. For smaller clusters or simpler cross-cluster needs, consider lighter-weight solutions like native Kubernetes Service or Ingress.
Links and References
- Kubernetes Gateway API
- AWS VPC Lattice Documentation
- AWS Cloud Map
- Kubernetes Ingress vs. Gateway API Comparison
Watch Video
Watch video content
Practice Lab
Practice lab