Gateway API (Kubernetes)

DevOps 🔴 Senior

Définition

Successeur officiel de la ressource Ingress pour le trafic entrant dans Kubernetes, porté par SIG Network. Il sépare les rôles : GatewayClass (l'implémentation, gérée par l'infra), Gateway (le point d'entrée, géré par la plateforme) et HTTPRoute/TLSRoute/GRPCRoute (les règles, gérées par les équipes applicatives). GA depuis la v1.0 du 31 octobre 2023 ; la v1.5 du 27 février 2026 stabilise notamment TLSRoute et le mTLS côté client. Le retrait d'Ingress NGINX en mars 2026 en fait la cible de migration recommandée.

Analogie

Ingress, c'était un portier unique qui gérait tout avec des post-it (annotations). Gateway API, c'est un hall d'accueil avec un plan officiel : le propriétaire installe la porte, chaque équipe affiche ses propres panneaux.

Exemple de code

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: api
spec:
  parentRefs:
    - name: public-gw           # Gateway gérée par la plateforme
  hostnames: ["api.example.com"]
  rules:
    - matches:
        - path: { type: PathPrefix, value: /v2 }
      backendRefs:
        - { name: api-v2, port: 80, weight: 90 }   # canary 90 % / 10 %
        - { name: api-v3, port: 80, weight: 10 }

Cas d'usage

Remplacer un Ingress NGINX retiré, faire du canary par poids, du routage par en-tête, ou exposer du gRPC/TLS sans annotations spécifiques au contrôleur.

Anti-pattern

Traduire mécaniquement chaque annotation nginx.ingress.kubernetes.io en HTTPRoute sans vérifier que le nouveau contrôleur (Envoy Gateway, Cilium, Traefik…) supporte la fonctionnalité.
#devops#kubernetes#networking

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre