Linux

Cómo implementar servicios en un clúster de Docker Swarm

Docker Swarm es uno de los clústeres de contenedores más fáciles de implementar. En minutos, puede tener un clúster en funcionamiento para alta disponibilidad, conmutación por error y escalabilidad. Una vez en funcionamiento, puede implementar contenedores en el enjambre para aprovechar el clúster. Por ejemplo, puede implementar servicios que se escalan para satisfacer cualquier demanda.

mirar: Más de 40 términos de código abierto y Linux que necesita saber (Edición Premium de Tecnopedia)

Eso es exactamente lo que te voy a mostrar. Aquí, primero instalaremos Docker Swarm y luego implementaremos el servicio en el nuevo clúster para que pueda escalar en la medida que se adapte a las necesidades de su empresa.

Qué necesitas

Haré una demostración en un grupo de un controlador y dos nodos, todos los cuales se ejecutarán en Ubuntu Server 20.04. Si usa una distribución de Linux diferente, es posible que deba cambiar los pasos de instalación de Docker (y eso es todo).

Más sobre centros de datos

Habiendo dicho eso, acudamos a ello.

Cómo instalar la ventana acoplable

Lo primero que debemos hacer es instalar Docker. Asegúrese de seguir estos mismos pasos en su controlador sin importar cuántos nodos planee implementar.

Inicie sesión en su servidor y actualice apt con el comando:

sudo apt-obtener actualización

A continuación, instale las dependencias necesarias con el comando:

sudo apt-get install ca-certificados curl gnupg lsb-release -y

Agregue la clave GPG oficial de Docker:

curl -fsSL | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Agregue el repositorio estable de Docker:

echo «deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $(lsb_release -cs) estable» | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instale el motor Docker:

sudo apt-obtener actualización

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Inicie y habilite Docker con los siguientes comandos:

sudo systemctl habilitar –ahora ventana acoplable

Agregue su usuario al grupo docker con el comando:

sudo usermod -aG docker $USUARIO

Haga que el sistema sea consciente del nuevo grupo:

ventana acoplable de nuevo grupo

Repita los pasos anteriores para todos los nodos.

De vuelta en el controlador Docker, inicialice el enjambre con el siguiente comando:

docker swarm init –advertise-addr servidor

donde SERVIDOR es la dirección IP del controlador Docker.

Luego verá un comando de unión que se ve así:

unión de enjambre acoplable –token SWMTKN-1-46uxtlbe3wrelly1fe5e65p1wdvg95bcjo48izvptpwof62rdo-42yl4jprovhng56sgxmyv7arv 192.168.1.13:2377

Copie ese comando y ejecútelo desde todos los nodos. Una vez completado, puede verificar la conectividad emitiendo el siguiente comando en el controlador:

información de la ventana acoplable

Deberías ver un resultado similar a este:

Colonia de abejas: activa

ID de nodo: wb44efzwy68x9gek45ee1nbnb

Es el gerente: si

ID de clúster: vjec4hz1sjj535x9w0mspox87

Gerentes: 1

Nodos: 3

Grupo de direcciones predeterminado: 10.0.0.0/8

Tamaño de subred: 24

Puerto de ruta de datos: 4789

Acuerdo:

Límite de retención del historial de tareas: 5

Cómo implementar servicios para enjambre

Ahora, podemos implementar el servicio en nuestro enjambre. Simplifiquemos primero e implementemos un servicio de contenedor NGINX con el que no podamos interactuar. Para hacer esto, emita el siguiente comando en el controlador:

creación del servicio docker –name nginx_test nginx

Para verificar el estado del servicio, emita el comando:

servicio acoplable ls

Debería ver nuestro servicio NGINX replicado con un resultado similar al siguiente:

zie1n4nm5es3 nginx_test copiado 1/1 nginx: más reciente

Nuestro ejemplo anterior solo utilizó uno de nuestros nodos. ¿Qué pasaría si quisiéramos implementar el servicio en los tres nodos? Para hacer esto, nuestro comando se verá así:

docker service create –replicas 3 –name nginx3nodes nginx

Emita el comando:

servicio acoplable ls

Debería ver nuestra implementación de nginx3nodes replicada en 3 de los 3 nodos con el siguiente resultado:

y1yu8fq27aab nginx3nodes replicado 3/3 nginx: más reciente

El servicio ahora utiliza los tres nodos en nuestro clúster. Puede escalar el servicio a 2 nodos con el siguiente comando:

escala de servicio docker nginx3nodes=2

Comprobar estado:

servicio acoplable ls

Ahora debería ver el servicio nginx en el nodo 2/2.

Suponga que tiene cinco nodos en su enjambre. Si desea escalar el servicio a los cinco nodos, el comando sería:

escala de servicio docker nginx3nodes=5

Para eliminar el servicio, debe emitir el siguiente comando:

servicio acoplable rm nginx3nodes

Suponga que desea actualizar las imágenes de contenedores en su implementación. Han pasado algunos días desde la implementación inicial y desea asegurarse de que está utilizando la última imagen de contenedor disponible. Supongamos que nginx:latest es una imagen de contenedor más nueva, para actualizar el servicio con la nueva imagen, debe ejecutar el comando:

actualización del servicio docker –image nginx:últimos nginx3nodes

Como nota final, si desea administrar el enjambre más fácilmente, implemente Portainer en el controlador con:

docker run -d -p 8000:8000 -p 9443:9443 –name=portainer –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/portainer de datos /docker-ce

Una vez implementado, vaya a (donde SERVIDOR es la dirección IP del servidor). Después de crear un usuario administrador e iniciar sesión, debería ver Swarm en la barra de navegación de la izquierda. Haga clic para ver su clúster (Figura A).

Figura A

Gestiona nuestro Swarm en Portainer.Gestiona nuestro Swarm desde Portainer.

Eso es más o menos lo básico para iniciar un Docker Swarm e implementar servicios en los nodos.

Suscríbete a Tecnopedia Cómo hacer que la tecnología funcione en YouTube Obtenga los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

LEER  Cómo implementar la plataforma de búsqueda empresarial Apache Solr en Ubuntu Server 22.04

Deja una respuesta

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

Botón volver arriba