DNS con ExternalDNS en EKS e Istio: Lecciones de casos reales

Guía práctica para automatizar DNS en EKS con Istio y ExternalDNS: configuración, TLS con cert-manager, solución al fallo de ExternalDNS para detectar hostnames y checklist de depuración.

19 ago 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Automating DNS with ExternalDNS on EKS and Istio Lessons From Real-World Gotchas traducido y adaptado para Q2BSTUDIO una explicación práctica sobre cómo automatizar DNS en EKS con Istio y ExternalDNS y los errores reales que conviene conocer

Cuando configuré Istio en Amazon EKS pensé que la automatización del DNS sería lo más sencillo Solo instalar ExternalDNS conectarlo a Route 53 y listo api.yourdomain.com y grafana.yourdomain.com deberían resolverse hacia mi clúster

La mayor parte funcionó sin problemas El add on de EKS se instaló correctamente Los permisos IAM quedaron claros con la documentación y Route 53 se conectó Pero hubo un detalle que no estaba documentado y me costó mucho tiempo cómo hacer que ExternalDNS detecte los hostnames gestionados por Istio

En este artículo explico cómo encajan ExternalDNS cert manager e Istio el montaje exacto que utilicé el detalle que me frenó y una lista de comprobación para depurar cuando los registros DNS no aparecen Esta guía es útil si buscas soluciones en aplicaciones a medida o software a medida y necesitas integrar certificados TLS y routing avanzado

Qué hace ExternalDNS ExternalDNS es un controlador de Kubernetes que crea y actualiza registros DNS automáticamente en proveedores como Route 53 Anotando un Service o un Ingress con un hostname ExternalDNS gestionará ese registro por ti

Qué hace cert manager cert manager es un complemento de Kubernetes que automatiza la gestión de certificados TLS Se integra con Lets Encrypt Vault o autoridades de certificacion privadas para emitir y renovar certificados automáticamente Usa Issuer o ClusterIssuer para definir el origen de los certificados y Certificate para definir el dominio Por ejemplo un certificado wildcard para *.yourdomain.com cubre subdominios automáticamente

Qué hace Istio Istio es un service mesh que aporta enrutamiento seguridad y observabilidad El Gateway de Istio termina TLS y reenvía tráfico en función del host solicitado por ejemplo api.yourdomain.com o grafana.yourdomain.com

Arquitectura que utilicé Clúster EKS con Istio instalado Istio ingressgateway tipo LoadBalancer respaldado por un NLB de AWS ExternalDNS como add on de EKS que gestiona registros en Route 53 Hosted zone en Route 53 para yourdomain.com cert manager con certificado wildcard VirtualServices de Istio para enrutar cada subdominio

Flujo principal ExternalDNS crea los registros en Route 53 el Gateway de Istio termina TLS y los VirtualServices enrutan por host hacia los servicios correctos

Configuración paso a paso 1 Instalar ExternalDNS como add on gestionado en EKS Es más sencillo con el add on de EKS Un ejemplo de configuración incluye provider aws policy upsert only txtOwnerId archops domainFilters yourdomain.com sources service istio gateway

2 Anotar el Service del Istio ingressgateway Este fue el punto clave ExternalDNS no detecta VirtualServices de Istio directamente Debes anotar el Service istio ingressgateway en el namespace istio system con external dns alpha kubernetes io hostname igual a api.yourdomain.com,grafana.yourdomain.com y usar la opcion overwrite con kubectl por ejemplo kubectl -n istio-system annotate svc istio-ingressgateway external-dns.alpha.kubernetes.io/hostname=api.yourdomain.com,grafana.yourdomain.com --overwrite Tras esto ExternalDNS creó los registros en Route 53 al instante

3 Gateway y VirtualServices en Istio Una vez que ExternalDNS creó los registros Istio se encarga de TLS y del routing basado en host headers Necesitas un Gateway que use el certificado wildcard emitido por cert manager y luego VirtualService por cada subdominio Ejemplos de VirtualService deben incluir host gateway y la ruta hacia el servicio correcto por ejemplo api-svc.api.svc.cluster.local puerto 8080

El detalle que me detuvo Las anotaciones ExternalDNS no lee VirtualServices de Istio Sin anotaciones en el Service del ingressgateway no se crean registros Añadir external-dns.alpha.kubernetes.io/hostname al Service solucionó el problema Este es el mayor gotcha que encontré

Lista de comprobación para depuración Si no aparecen registros DNS revisa estos puntos Logs ejecutar kubectl logs deploy external-dns -n kube-system para ver errores El filtro de dominio domainFilter debe coincidir exactamente con tu hosted zone por ejemplo yourdomain.com Permisos IAM la cuenta de servicio de ExternalDNS necesita ChangeResourceRecordSets y ListHostedZones Registros TXT obsoletos en Route 53 pueden bloquear actualizaciones elimina entradas antiguas Anotaciones recuerda que ExternalDNS encuentra hostnames desde spec.rules.host de un Ingress o desde la anotacion external-dns.alpha.kubernetes.io/hostname en un Service de tipo LoadBalancer como el ingressgateway de Istio

Por qué no usé AWS Load Balancer Controller atajos y decisiones rápidas En mi caso Istio ya gestionaba routing a nivel L7 Necesitábamos soporte TCP y gRPC además de HTTP TLS lo gestionaba Istio Un solo NLB fue más sencillo y económico por eso descartamos AWS Load Balancer Controller

Buenas prácticas y recomendaciones Usa certificados wildcard de cert manager para facilitar la emisión de TLS y cubrir subdominios Usa ExternalDNS con el domainFilter correcto y controla los permisos IAM de la cuenta de servicio Mantén limpias las entradas TXT en Route 53 y documenta las anotaciones necesarias para que el equipo pueda añadir subdominios sin tocar la consola de AWS

Sobre Q2BSTUDIO En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida Ofrecemos servicios de inteligencia artificial e ia para empresas ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio agentes IA y Power BI Nuestra experiencia en integraciones cloud y arquitecturas seguras nos permite desplegar soluciones que incluyen automatización de DNS certificados TLS y routing avanzado con Istio Podemos ayudarte a implementar pipelines de CI CD configurar ExternalDNS y cert manager y asegurar que tus aplicaciones a medida funcionen con alta disponibilidad y seguridad

Casos de uso típicos en los que podemos ayudar Automatización de despliegues en AWS y Azure Migracion de aplicaciones a medida a entornos gestionados Implementacion de soluciones de inteligencia artificial e integración de agentes IA Análisis y visualizacion con Power BI y servicios de inteligencia de negocio Auditorias de ciberseguridad y diseño de arquitecturas seguras

Reflexiones finales ExternalDNS cert manager e Istio forman una combinación potente para gestionar subdominios certificados y enrutamiento avanzado en EKS Solo recuerda el detalle de las anotaciones en el Service del ingressgateway y tendrás un flujo automatizado donde ExternalDNS gestiona los registros cert manager los certificados y Istio el tráfico

Si te interesa que Q2BSTUDIO implemente esta solución o quieres una consultoría sobre aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure agentes IA o Power BI contacta con nuestro equipo Estamos listos para diseñar la arquitectura que mejor se adapte a tus necesidades

Has tenido problemas similares con DNS y Istio en EKS Comparte tu experiencia con nosotros en Q2BSTUDIO y podremos comparar notas y proponer mejoras prácticas

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.