← back

📷 "Secure Cloud Computing" by FutUndBeidl is licensed under CC BY 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by/2.0/.

Kubernetes Gateway API 2026: The Ingress successor matures

26 October 2026 · 5 min · Martin Jochum #Kubernetes#Gateway API#Cloud Native#DevOps#Networking#Ingress

The Kubernetes Gateway API has definitively established itself in 2026 as the successor to the traditional Ingress resource type. With version 1.6, the GA release by AWS for the Load Balancer Controller, and a growing number of conformant implementations, the time for migrating from Ingress has come. The switch promises not only better type safety and clearer role separation, but above all portable routing definitions that work equally well between cloud providers and self-managed clusters.

TCPRoute and UDPRoute in the Standard Channel

With Gateway API v1.6.0 (Released on June 30, 2026), TCPRoute and UDPRoute have made the jump to the Standard Channel and are now available as stable v1 API resources. This closes one of the biggest gaps in the previous Ingress model: while HTTP and TLS traffic could already be mapped portably since v1.0, raw TCP/UDP workloads like databases, DNS, VoIP, or IoT telemetry had to resort to implementation-specific CRDs or classic Kubernetes Services. With TCPRoute and UDPRoute, all protocols can now be defined via uniform, portable resources.

The migration is simple: Instead of the previous v1alpha2 version, v1 resources are now used in the API group path gateway.networking.k8s.io/v1. The old v1alpha2 versions are deprecated with v1.6 and will be removed in a future release. If you are already using TCPRoute or UDPRoute, you should update the manifests promptly.

AWS Adopts Gateway API

A strong signal for industry maturity came in March 2026: AWS switched Gateway API support in the AWS Load Balancer Controller to GA. The controller now manages both Application Load Balancers (L7) and Network Load Balancers (L4) via the standardized Gateway API resources – and no longer via Ingress annotations. A typo in an annotation like alb.ingress.kubernetes.io/condtions.api-v2 (with a swapped ‘i’) previously led silently to a non-routing configuration because the entry was simply ignored. The new CRDs like TargetGroupConfiguration, LoadBalancerConfiguration, and ListenerRuleConfiguration catch such errors already upon application, as the API server validates the structure.

The strategic importance of AWS support can hardly be overstated: The largest public cloud provider is signaling that the standardized, portable API approach is the future – not the proprietary annotation path that AWS itself shaped for years. The AWS Load Balancer Controller in version 3.0.0 can also automatically obtain and rotate TLS certificates from the AWS Certificate Manager, without requiring manual ARN updates.

Experimental Extensions in v1.6: XBackend and API Group Separation

Alongside the graduation of TCPRoute and UDPRoute, v1.6 brings two important innovations in the Experimental Channel. With the introduction of a separate API group gateway.networking.x-k8s.io, experimental functionality will in future be distinguished from stable functionality already at the group level – a clear signal of the project’s growing maturity.

The new XBackend resource enables external targets as a backend for the first time, e.g., for egress scenarios to cloud AI APIs. With this, the SIG Network is responding to the growing need to route AI workloads with the Gateway API – a topic that was intensively discussed at KubeCon EU 2026.

The resource model of the Gateway API is based on three clearly separated levels:

  • GatewayClass defines the provider (Envoy, AWS, Cilium, Istio, NGINX) – managed by the platform team.
  • Gateway configures the load balancer with ports, protocols, and TLS – managed by the infrastructure team.
  • Routes (HTTPRoute, GRPCRoute, TCPRoute, UDPRoute, TLSRoute) define the application routing rules – managed by the developer teams.

This role separation is the decisive advancement over Ingress, where cluster admin rights were usually necessary for routing changes. Since Gateway API v1.5 (February 2026), Gateway Merging is also stable: Multiple gateways can merge onto shared listeners. The platform team owns the listener with port and TLS certificate, while tenant teams attach their routes to it in their own namespaces – without overwriting each other.

What Migrating from Ingress Brings

The advantages of switching to the Gateway API are tangible:

  • Type Safety: CRDs with schema validation instead of strings in annotations
  • Header-based Routing: Natively in the Standard, without provider-specific hacks
  • Traffic Splitting: Canary Deployments as a first-class feature of HTTPRoute
  • gRPC Routing: GRPCRoute firmly in the Standard Channel since v1.5
  • Multi-Protocol Support: TCP, UDP, TLS, HTTP, and gRPC from one model
  • Portability: The identical HTTPRoute works on AWS, Envoy Gateway, Cilium, and Istio – only the GatewayClass changes

The migration itself can be done incrementally: Existing Ingress resources remain functional while HTTPRoutes are tested in parallel. The AWS Load Balancer Controller supports both APIs simultaneously, so teams are not under migration pressure. For new deployments, however, starting directly with the Gateway API is recommended.

Conclusion

The Gateway API has achieved all major milestones in 2026: TCPRoute and UDPRoute are stable, the largest cloud provider supports the model in production, and the implementation landscape includes over 20 conformant controllers. Anyone setting up a new Kubernetes cluster today should rely on the Gateway API from the start – using Ingress in new code is a technical legacy. Those who migrate benefit from better validation, clearer role separation, and portable routing definitions that prevent a provider switch from becoming a project.

Sources

🌐 Machine-translated from the German original, editorially reviewed. 🤖 Written with AI assistance.

Sponsored
Deine Anzeige hier — erreiche Tech-affine Leser. Kontakt: info@saaro.net→