Chuck's Academy

Docker

Docker Swarm: Orquestación Básica de Contenedores

Docker swarm LogoDocker swarm Logo

Docker Swarm permite orquestar y gestionar clústeres de contenedores de manera sencilla, proporcionando alta disponibilidad y escalabilidad. En este capítulo, exploraremos cómo configurar un clúster en Docker Swarm, desplegar servicios y gestionar el clúster.

¿Qué es Docker Swarm?

Docker Swarm es una herramienta de orquestación integrada en Docker que permite gestionar múltiples contenedores distribuidos en varios hosts. Docker Swarm facilita la creación y administración de clústeres de contenedores, lo que permite a las aplicaciones escalar y ser tolerantes a fallos.

Configuración de un Clúster de Docker Swarm

Para crear un clúster de Docker Swarm, primero necesitamos iniciar el Swarm en un nodo principal y luego añadir nodos adicionales como trabajadores o administradores.

Inicializar un Swarm

En el nodo que actuará como el administrador principal del clúster, ejecute el siguiente comando:

bash
"El comando docker swarm init inicializa un nuevo clúster de Swarm en el nodo actual, configurándolo como el administrador del clúster."

Añadir Nodos al Swarm

Una vez que el Swarm está inicializado, Docker proporciona un comando para añadir nodos adicionales como trabajadores. Ejecute el siguiente comando en el nodo que desea añadir:

bash
"El comando docker swarm join seguido del token y la dirección IP del nodo administrador permite añadir un nodo al clúster como trabajador."

Esta imagen muestra como funciona docker swarm con los nodosEsta imagen muestra como funciona docker swarm con los nodos

Despliegue de Servicios en Docker Swarm

En Docker Swarm, las aplicaciones se ejecutan como servicios, que se distribuyen automáticamente en los nodos del clúster. Un servicio es similar a un contenedor, pero está diseñado para ejecutarse de manera distribuida y escalable.

Crear un Servicio

Para crear un servicio en el clúster, utilice el siguiente comando:

bash
"Este comando crea un servicio llamado my-service con tres réplicas, mapeando el puerto ochenta del host al puerto ochenta del contenedor, usando la imagen my-app-image."

Escalar un Servicio

Docker Swarm facilita la escalabilidad de los servicios, permitiendo ajustar el número de réplicas en tiempo real.

bash
"El comando docker service scale my-service igual cinco escala el servicio my-service a cinco réplicas, incrementando la disponibilidad del servicio en el clúster."

Gestión de Servicios en Docker Swarm

Docker Swarm permite gestionar los servicios y verificar su estado en el clúster mediante el comando docker service ls, que lista todos los servicios en ejecución.

Ver el Estado de los Servicios

bash
"El comando docker service ls lista todos los servicios en ejecución en el clúster de Swarm, mostrando detalles como el número de réplicas y el estado de cada servicio."

Inspeccionar un Servicio

Para obtener información detallada sobre un servicio específico, utilice el comando docker service inspect:

bash
"El comando docker service inspect my-service muestra información detallada del servicio my-service, incluyendo la configuración y el estado de cada réplica."

Alta Disponibilidad en Docker Swarm

Docker Swarm distribuye automáticamente los servicios entre los nodos del clúster. Si un nodo falla, Docker Swarm reasigna las tareas del nodo caído a otros nodos disponibles para asegurar la continuidad del servicio.

Conclusión

Docker Swarm permite crear clústeres de contenedores distribuidos, proporcionando escalabilidad y alta disponibilidad para las aplicaciones. Con una configuración sencilla, Docker Swarm facilita la gestión de servicios y nodos en un entorno de producción. En el próximo capítulo, abordaremos Kubernetes y compararemos sus características con Docker Swarm para comprender sus diferencias y ventajas en la orquestación de contenedores.


Pregúntame lo que sea