@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

docker-swarm-crear-cluster-debian-3

Docker Swarm: Crear Cluster Debian

Docker Swarm: Crear Cluster Debian

Hoy os voy a enseñar a montar un clúster con Docker Swarm en servidores Debian. Personalmente, si os queréis introducir en los clústeres de contenedores o containers, lo recomiendo para empezar antes que Kubernetes, por su facilidad de creación.

¿Qué es Docker Swarm?

Para los que no conocéis este proyecto, sería algo así como la equivalencia de Kubernetes creada por los desarrolladores de Docker. De forma que puedas gestionar varios hosts de Docker sobre una gestión centralizada.

En un principio, se instalaba como un componente a parte, pero desde la versión 1.11 de Docker ya se dispone de un modo nativo Swarm (también conocido como modo enjambre), simplemente instalando Docker Engine.

Al final es una arquitectura como Kubernetes, maestro-esclavo. Con un nodo maestro o máster como mínimo. Como en Kubernetes, el maestro es responsable de la gestión del propio clúster y repartir las tareas, y el resto de nodos, llamados esclavos o workers, ejecutan las tareas.

Instalación Docker Swarm sobre Debian 10.8

Lo voy a crear bajo la plataforma de Proxmox, sobre 3 máquinas virtuales. Una máquina se comportará de master y las otras dos de workers sobre Debian 10.8, que es la última versión disponible.

docker-swarm-crear-cluster-debian-1

Nos conectamos al master por SSH y cambiamos a root, lanzaremos un upgrade de los paquetes. Repetimos esto en los workers:

Instalamos las dependencias en cada nodo(master y workers):

Añadimos la GPG key de Docker (master y workers):

Agregamos los repositorios de Docker (master y workers):

Instalamos Docker engine (master y workers):

Probamos que funciona correctamente creando contenedor (master y workers):

Como hemos dicho, podéis comprobar que swarm viene integrado en las nuevas versiones:

Nos aseguramos que el servicio de docker está corriendo y que cuando reinicie el sistema lo siga estando (master y workers):

Nos aseguramos que el grupo de docker existe y agregamos el usuario docker (master y workers):

Voy a instalar ufw para gestionar el firewall (master y workers):

Y modificamos los puertos de firewall necesarios para docker swarm (master y workers):

Reiniciamos el servicio del firewall y habilitamos el servicio para que arranque en el inicio (master y workers):

Reiniciamos el servicio de Docker (master y workers):

Crear cluster de Docker Swarm

Una vez preparado el sistema, ahora vamos al master para inicializar el clúster con el comando que representa a su IP y que pasaremos a los workers:

Y repetimos en los workers el comando que nos ha generado:

Ahora validamos en el master el estado:

Extraer info de cluster Docker Swarm

Ahora si queremos sacar la info del clúster simplemente podremos ver:

Agregar o quitar workers y masters a Cluster Docker Swarm

Si el día de mañana tiene que crecer el clúster podéis utilizar este comando para agregar workers:

Para agregar masters adicionales:

Ejemplo web apache en cluster Docker Swarm

Para validar del todo el clúster haremos dos pruebas. Lanzar un apache como servicio:

Y luego haremos un escalado:

Revisamos los servicios generados:

Si vais a la URL de cualquiera de los nodos donde se está ejecutando, veréis un bonito:

docker-swarm-crear-cluster-debian-2

Y una prueba final, sería parar el servicio docker de uno de los workers y ver el resultado:

Y validamos que el servicio que ha caído se levanta en otro nodo disponible:

Simplemente, genial…

Borráis los rastros:

 

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

desarrollar-con-containers-docker-en-visual-code-14

Desarrollar con containers Docker en Visual Code

Desarrollar con containers Docker en Visual Code Hoy os vamos a explicar cómo utilizar en …

2 comentarios

  1. Una duda,
    ¿Por qué has usado máquinas virtuales en lugar de contenedores?

    • Hola! No hay un motivo especial, tenía máquinas virtuales Debian 11 para ello. Aunque es verdad que cuando hay que instalar un host para contenedores Docker, un contenedor LXC (que entiendo es a lo que te refieres), necesita alguna parametrización adicional para la virtualización anidada. Pero no hay un motivo especial…Un saludo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

3 × dos =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu