Unir un nodo trabajador (worker node) al swarm
En el paso anterior, inicializamos un Docker Swarm y la salida proporcionó un comando para unir un nodo trabajador. En un escenario del mundo real, ejecutarías este comando en una máquina separada que quieres agregar como trabajador a tu swarm. Sin embargo, dado que estamos utilizando una sola máquina virtual (VM) de LabEx, simularemos la unión de un nodo trabajador utilizando el comando de unión en la misma máquina.
Primero, recuperemos el comando de unión para un nodo trabajador. Puedes obtener el token de unión y el comando ejecutando docker swarm join-token worker
en el nodo administrador (que es nuestra máquina virtual actual).
docker swarm join-token worker
La salida será similar a esta:
To add a worker to this swarm, run the following command on the worker node:
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
Copia el comando completo docker swarm join --token ...
de la salida. Este comando contiene el token único y la dirección IP y el puerto del administrador (manager) del swarm.
Ahora, ejecuta el comando copiado para unir el nodo actual al swarm como trabajador.
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
Reemplaza el token y la dirección IP con los valores que obtuviste del comando docker swarm join-token worker
.
Deberías ver una salida que indique que el nodo se ha unido al swarm como trabajador:
This node joined a swarm as a worker.
Para verificar que el nodo se ha unido al swarm, puedes listar los nodos del swarm desde la perspectiva del administrador. Dado que nuestra única máquina virtual actúa tanto como administrador como trabajador, podemos usar el comando docker node ls
.
docker node ls
La salida mostrará los nodos del swarm. Deberías ver dos entradas para el mismo ID de nodo, una con el estado "Ready" y el rol "Manager", y otra con el estado "Ready" y el rol "Worker".
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
xxxxxxxxxxxx * labex-vm Ready Active Leader 20.10.21
xxxxxxxxxxxx labex-vm Ready Active 20.10.21
Esto confirma que el nodo se ha unido exitosamente al swarm como trabajador.