Jeisson Alejandro Fuquene Buitrago
Cual es la diferencia entre usar un external name o un configmap? Ya que según la explicación, ambos funcionarían para almacenar mi variable de apuntamiento a una base de datos.
- El ExternalName lo usas cuando necesitas que tu aplicación use un nombre de servicio consistente dentro del cluster minuto 21:16
- El ConfigMap lo usas cuando la aplicación espera la URL de la base de datos como variable de entorno o en un archivo de configuración. Clase 8
Juan Moya
Yor Jaggy Castaño Pino
ProfesorNice Catch Jeisson!
En este caso, un ExternalName no es un servicio que almacene un valor, sino más bien un mecanismo de resolución DNS interna de Kubernetes. Permite crear un alias dentro del clúster que apunta a un nombre de dominio externo, lo cual facilita la integración con servicios fuera del clúster como bases de datos, colas de mensajes o caches.
Aunque Kubernetes no hace caching total del DNS explícitamente, usar ExternalName puede ayudar a centralizar nombres externos y simplificar la gestión de dependencias externas.
Por otro lado, un ConfigMap sí está diseñado para almacenar valores de configuración no sensibles, como nombres de host, puertos o flags de la aplicación.
💡 Mi recomendación:
Usá ExternalName para mapear nombres de servicios internos a recursos externos (como DB, RabbitMQ, ElastiCache, etc.).
Usá ConfigMap para referenciar esos nombres (por ejemplo, el nombre del servicio my-database-service que en realidad es un ExternalName). Así mantenés flexibilidad y separación de responsabilidades.
Esto te ayuda a hacer frente a estos escenarios!
- Si mañana cambiás my-db para que apunte a otro host, lo cambiás solo en el ExternalName.
- Si querés cambiar el nombre de referencia en tu app, lo hacés desde el ConfigMap.
-Esta separación facilita cambios sin necesidad de redesplegar toda la aplicación.