Episodio 18: Docker Swarm – Introducción a la Orquestación
En episodios anteriores exploramos Docker Compose para gestionar aplicaciones con varios contenedores en una sola máquina. Ahora damos el salto a la orquestación de contenedores, es decir gestionar contenedores distribuidos entre varias máquinas. Una de las primeras herramientas de orquestación proporcionadas por Docker es Docker Swarm.
Qué es Docker Swarm: Docker Swarm es la herramienta nativa de Docker para clustering y orquestación. Permite crear un clúster de nodos Docker y desplegar servicios a través de ellos, ofreciendo alta disponibilidad, escalabilidad y balanceo de carga. En resumen, permite ejecutar contenedores no solo en una máquina sino en muchas máquinas trabajando en conjunto.
Conceptos clave: Nodo un equipo que participa en el swarm, físico o virtual. Nodo Manager gestiona el clúster, el scheduling y la orquestación. Nodo Worker ejecuta las tareas asignadas por el manager. Servicio define cómo deben ejecutarse los contenedores, llamados tareas. Tarea un contenedor en ejecución asignado a un nodo. Overlay Network red que permite la comunicación entre contenedores en distintas máquinas.
Configuración básica: Inicializar el modo swarm en la primera máquina manager: docker swarm init --advertise-addr <MANAGER-IP> Unir nodos worker (el comando aparece después del init): docker swarm join --token <WORKER-TOKEN> <MANAGER-IP>:2377 Verificar nodos en el swarm: docker node ls
Desplegar un servicio en Swarm Ejemplo ejecutar nginx con 3 réplicas: docker service create --name my-nginx --replicas 3 -p 8080:80 nginx Consultar servicios en ejecución: docker service ls Ver tareas del servicio: docker service ps my-nginx
Escalar un servicio: docker service scale my-nginx=5 Swarm reequilibra automáticamente los contenedores entre los nodos disponibles.
Beneficios de Docker Swarm: despliegue sencillo e integración con el CLI de Docker; balanceo de carga incorporado; alta disponibilidad, Swarm reemplaza contenedores fallidos; comunicaciones seguras por TLS en su configuración por defecto.
Cuándo usar Docker Swarm: en clústeres de producción pequeños y medianos, cuando se necesita una orquestación más simple que Kubernetes o cuando un equipo ya está muy integrado con Docker y busca una solución de escalado ágil. Para despliegues en la nube y arquitecturas distribuidas, Swarm se complementa bien con servicios gestionados y prácticas de seguridad en la nube.
Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, con experiencia en inteligencia artificial, ciberseguridad, servicios cloud y soluciones de inteligencia de negocio. Ofrecemos integración con plataformas cloud como servicios cloud AWS y Azure y desarrollamos soluciones avanzadas de inteligencia artificial para empresas, agentes IA, automatizaciones y proyectos con Power BI.
Palabras clave integradas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.
Próximo episodio anunciaremos un Deep Dive en redes Docker para entender Bridge, Host, Overlay y Macvlan y cómo se comunican los contenedores en distintos entornos.
Pregunta: ¿Quieres que profundice antes en Docker Swarm con despliegues avanzados, secretos y configs, o prefieres que continuemos directamente con el tema de redes Docker?