KGateway
¿Qué es kgateway?
kgateway es un API Gateway y un Ingress Controller de código abierto (open-source) diseñado específicamente para implementar el estándar Kubernetes Gateway API.
El motor físico que utiliza para mover el tráfico (su Data Plane) es Envoy Proxy, uno de los proxies más rápidos, modernos y utilizados a nivel mundial en arquitecturas nativas de la nube.
Características Principales (Por qué brilla en producción)
- Es 100% Nativo de Gateway API (Sin anotaciones "feas"): A diferencia del clásico
ingress-nginx(que abusaba de complejas anotaciones en los YAML para configurar funciones avanzadas),kgatewayrespeta fielmente el modelo de roles que vimos en tus lecciones: - Infraestructura crea el
GatewayClass(apuntando akgateway.dev/kgateway) y elGateway(abriendo puertos y configurando los certificados TLS). - Desarrollo crea los
HTTPRouteoGRPCRoutepara aplicar pesos (Canary Deployments) o enrutar según cabeceras.
[!IMPORTANT]
kgatewayno es unGatewayClass, sino el controlador que le da vida alGatewayClass
- Arquitectura Desacoplada:
El controlador de
kgateway(Control Plane) solo se encarga de leer los recursos de la API de Kubernetes y traducirlos. El tráfico real de los usuarios pasa directamente por los Pods de Envoy (Data Plane), lo que lo hace tremendamente escalable. - Poderes de "API Gateway" real: Va mucho más allá de un simple Ingress. Permite gestionar autenticación externa (OIDC, OAuth), Rate Limiting (límite de peticiones para evitar abusos), transformaciones complejas de cabeceras y Web Application Firewalls (WAF) de forma nativa.
- Pionero en Tráfico de IA (Inference y Agentes): Actualmente es uno de los primeros en implementar las Inference Extensions de Kubernetes. A través de un subproyecto integrado llamado agentgateway, permite asegurar, auditar, hacer balanceo de carga consciente de GPUs y enrutar tráfico dirigido específicamente a Modelos de Lenguaje (LLMs) y agentes de Inteligencia Artificial (MCP, A2A).
Instalación
- KGateway: https://kgateway.dev/docs/envoy/latest/quickstart/
- httpbin: https://kgateway.dev/docs/envoy/main/install/sample-app/