Ir al contenido

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.

¿Te interesa?

Hablemos de tu proyecto. Te asesoramos sin compromiso.

Contactar

Última actualización: abril 2026