Skip to main content
πŸŽ“ Claude Code Masterclass Learn AI-assisted development on Udemy β€” plus the companion book on Leanpub & Amazon. Start Learning
Kubernetes Gateway API in production
Platform Engineering

Gateway API in Production Guide

Gateway API has reached GA maturity. How to migrate from Ingress to Gateway API, with practical examples using Envoy Gateway and Cilium.

LB
Luca Berton
Β· 1 min read

Gateway API: The New Standard

Kubernetes Gateway API has reached GA and is rapidly replacing Ingress. If you’re still using Ingress resources in 2026, you’re leaving features on the table.

Why Migrate?

Ingress was designed for simple HTTP routing. Gateway API supports:

  • Multi-protocol: HTTP, gRPC, TCP, UDP, TLS
  • Role-based config: Infrastructure providers, cluster operators, and app developers each manage their own resources
  • Traffic splitting: Native weighted routing for canary deployments
  • Header-based routing: No more implementation-specific annotations

Core Resources

# 1. GatewayClass - defines the controller (infra team)
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
  name: envoy-gateway
spec:
  controllerName: gateway.envoyproxy.io/gatewayclass-controller

# 2. Gateway - defines listeners (platform team)
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: production
  namespace: gateway-system
spec:
  gatewayClassName: envoy-gateway
  listeners:
  - name: https
    protocol: HTTPS
    port: 443
    tls:
      mode: Terminate
      certificateRefs:
      - name: wildcard-cert
    allowedRoutes:
      namespaces:
        from: Selector
        selector:
          matchLabels:
            gateway-access: "true"

# 3. HTTPRoute - defines routing (app team)
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: my-app
  namespace: app-team
spec:
  parentRefs:
  - name: production
    namespace: gateway-system
  hostnames:
  - "app.example.com"
  rules:
  - matches:
    - path:
        type: PathPrefix
        value: /api/v2
    backendRefs:
    - name: app-v2
      port: 8080
      weight: 90
    - name: app-v3
      port: 8080
      weight: 10  # Canary

Choosing Your Implementation

ImplementationBest ForgRPCTCP/UDP
Envoy GatewayNew deployments, full-featuredβœ…βœ…
CiliumeBPF performance, existing Cilium usersβœ…βœ…
IstioService mesh usersβœ…βœ…
NGINX Gateway FabricNGINX familiarityβœ…βŒ

Migration Strategy

  1. Deploy Gateway API CRDs alongside existing Ingress
  2. Create Gateway resources matching your current Ingress config
  3. Migrate routes one service at a time β€” both can coexist
  4. Remove Ingress resources after validation
  5. Leverage new features β€” traffic splitting, header routing, cross-namespace refs

Don’t do a big-bang migration. Gateway API and Ingress coexist peacefully.


Migrating to Gateway API? I help platform teams modernize their Kubernetes networking. Get in touch.\n

#kubernetes #gateway-api #networking #envoy #cloud-native
Share:
Kubernetes & Containerization

Need help with Kubernetes & Containerization?

Master Kubernetes and container orchestration with hands-on workshops and architecture consulting.

Learn more about Kubernetes & Containerization

Want to operate this yourself, in production?

Take the free AI Platform Engineer Readiness Scorecard to see which skills transfer β€” then build a production-shaped AI platform in the 4-week Bootcamp.

Take the Scorecard β†’
Luca Berton β€” AI & Cloud Advisor, Docker Captain

Luca Berton

AI & Cloud Advisor Β· Docker Captain Β· KubeCon Speaker

15+ years in enterprise infrastructure. Author of 8 technical books, creator of Ansible Pilot (1M+ YouTube views, 648K site users). Former Red Hat engineer. Speaker at KubeCon EU 2026 and Red Hat Summit 2026.

Free 30-min AI & Cloud consultation

Book Now