Compartir comentarios
Las respuestas se generan en base a la documentación.

Unir nodos a un swarm

Al crear un swarm por primera vez, colocas un único Docker Engine en modo Swarm. Para aprovechar al máximo el modo Swarm, puedes añadir nodos al swarm:

  • Añadir nodos trabajadores (workers) aumenta la capacidad. Al desplegar un servicio en un swarm, el motor planifica las tareas en los nodos disponibles, ya sean nodos trabajadores o nodos administradores. Al añadir trabajadores a tu swarm, aumentas la escala del swarm para manejar tareas sin afectar al consenso Raft de los administradores.
  • Los nodos administradores (managers) aumentan la tolerancia a fallos. Los nodos administradores realizan las funciones de orquestación y gestión de clústeres para el swarm. Entre los nodos administradores, un único nodo líder realiza las tareas de orquestación. Si un nodo líder se cae, los nodos administradores restantes eligen un nuevo líder y reanudan la orquestación y el mantenimiento del estado del swarm. Por defecto, los nodos administradores también ejecutan tareas.

Docker Engine se une al swarm dependiendo del token de unión (join-token) que proporciones al comando docker swarm join. El nodo solo utiliza el token al momento de unirse. Si posteriormente rotas el token, esto no afectará a los nodos de swarm existentes. Consulta Ejecutar Docker Engine en modo Swarm.

Unirse como nodo trabajador

Para obtener el comando de unión, incluido el token de unión para nodos trabajadores, ejecuta el siguiente comando en un nodo administrador:

$ docker swarm join-token worker

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
    192.168.99.100:2377

Ejecuta el comando obtenido en la salida en el nodo trabajador para unirse al swarm:

$ docker swarm join \
  --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
  192.168.99.100:2377

This node joined a swarm as a worker.

El comando docker swarm join realiza lo siguiente:

  • Cambia el Docker Engine en el nodo actual al modo Swarm.
  • Solicita un certificado TLS al administrador.
  • Nombra al nodo utilizando el nombre de host de la máquina (hostname).
  • Une el nodo actual al swarm en la dirección de escucha del administrador basada en el token del swarm.
  • Establece la disponibilidad del nodo actual en Active (Activo), lo que significa que puede recibir tareas del planificador.
  • Extiende la red superpuesta (overlay network) ingress al nodo actual.

Unirse como nodo administrador

Al ejecutar docker swarm join y pasar el token de administrador, Docker Engine cambia al modo Swarm de la misma manera que para los trabajadores. Los nodos administradores también participan en el consenso Raft. Los nuevos nodos deben quedar en estado Reachable (Accesible), pero el administrador existente seguirá siendo el líder (Leader) del swarm.

Docker recomienda tres o cinco nodos administradores por clúster para implementar alta disponibilidad. Debido a que los nodos administradores en modo Swarm comparten datos utilizando Raft, debe haber un número impar de administradores. El swarm puede seguir funcionando siempre que esté disponible un quórum de más de la mitad de los nodos administradores.

Para obtener más detalles sobre los administradores del swarm y su administración, consulta Administrar y mantener un swarm de Docker Engines.

Para obtener el comando de unión, incluido el token de unión para nodos administradores, ejecuta el siguiente comando en un nodo administrador:

$ docker swarm join-token manager

To add a manager to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
    192.168.99.100:2377

Ejecuta el comando obtenido en la salida en el nuevo nodo administrador para unirlo al swarm:

$ docker swarm join \
  --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
  192.168.99.100:2377

This node joined a swarm as a manager.

Más información