Ingress Controller
Un Ingress Controller gestiona el acceso HTTP/HTTPS externo a servicios en un clúster de Kubernetes mediante enrutamiento basado en reglas.
¿Qué es un Ingress Controller?
Un Ingress Controller es un componente de Kubernetes que enruta el tráfico HTTP/HTTPS entrante desde el exterior hacia el clúster. Evalúa recursos Ingress – objetos de Kubernetes que definen cómo las solicitudes externas se enrutan a servicios internos. Sin un Ingress Controller, los recursos Ingress no tienen efecto.
¿Cómo funciona un Ingress Controller?
El Ingress Controller se ejecuta como un pod en el clúster y monitoriza recursos Ingress. Configura dinámicamente un proxy inverso (por ejemplo, NGINX, Envoy, Traefik) que reenvía las solicitudes entrantes a los servicios correspondientes según reglas basadas en host o en ruta.
Opciones de enrutamiento
- Enrutamiento basado en host: api.example.com → servicio API, shop.example.com → servicio tienda
- Enrutamiento basado en ruta: /api/* → servicio backend, /static/* → servicio frontend
- Terminación TLS: Gestionar certificados SSL/TLS centralmente en el ingress
- División de tráfico: Enrutamiento ponderado para despliegues canary
Ingress Controllers populares
NGINX Ingress Controller es el más utilizado y mantenido por la comunidad de Kubernetes. Traefik ofrece integración automática con Let's Encrypt y un dashboard. HAProxy y Envoy (como base de Istio) son alternativas para escenarios de alta carga.
TLS y certificados
Combinado con cert-manager, el Ingress Controller automatiza la emisión y renovación de certificados TLS a través de Let's Encrypt. Cert-manager crea automáticamente recursos Certificate basados en anotaciones de Ingress, eliminando la gestión manual de certificados.
Ingress vs. Gateway API
La Kubernetes Gateway API es la sucesora del recurso Ingress y ofrece funciones avanzadas como políticas de tráfico, enrutamiento cross-namespace y más diferenciación de roles. Los nuevos proyectos deberían evaluar si la Gateway API es la mejor opción. Muchos Ingress Controllers ya soportan ambos enfoques.
Mejores prácticas
- Usa rate limiting y límites de tamaño de solicitud para proteger contra sobrecarga
- Configura health checks y readiness probes para servicios backend
- Activa el logging de acceso para depuración y cumplimiento
- Usa anotaciones con moderación y documéntalas
- Separa recursos Ingress por equipo o namespace
¿Por qué devRocks?
Configuramos y operamos Ingress Controllers que son seguros, performantes y de alta disponibilidad. Desde la selección del controlador correcto hasta la configuración TLS y la gestión de tráfico para despliegues canary, gestionamos la configuración completa de enrutamiento de tu clúster.
Preguntas frecuentes sobre Ingress Controller
NGINX Ingress Controller es la opción por defecto para la mayoría de escenarios. Traefik es adecuado para gestión más simple con auto-TLS. Para integración con service mesh, recomendamos controladores basados en Envoy como Istio Gateway.
Sí, el Ingress Controller necesita un balanceador de carga upstream (Capa 4) que distribuya el tráfico a los pods del Ingress Controller. En entornos cloud, se provisiona automáticamente mediante Service tipo LoadBalancer.
Activa la terminación TLS, configura rate limiting, restringe los métodos HTTP permitidos, usa ModSecurity como WAF y actualiza regularmente a la última versión.
Service tipo LoadBalancer crea un balanceador de carga cloud separado por cada servicio (costoso). Ingress agrupa el tráfico a través de un único balanceador y enruta internamente según reglas.
Términos relacionados
Servicios relacionados
DevSecOps
Seguridad reforzada, integrada en cada capa del stack de infraestructura.
Kubernetes
Orquestación de contenedores a gran escala: diseñamos, operamos y gestionamos clústeres Kubernetes listos para producción.
Edge Networking
Optimización global de CDN y enrutamiento BGP para aplicaciones de misión crítica.
Última actualización: abril 2026