Nota: (Cada Nodo es un (Demonio-Docker) y interactuá mediante la (Api-Docker) una descripción de los Nodos es una Instancia del Motor-Docker.)
-. Cuando crea un Cluster-Swarm por primera vez, coloca un solo motor-Docker en modo-Swarm. Para aprovechar al máximo el modo-Swarm, puede agregar nodos al Swarm :
. Agregar nodos-Worker aumenta la capacidad. Cuando implementa un servicio en un Swarm, el motor-Docker programa tareas en los nodos disponibles, ya sean nodos-Worker o nodos-Manager. Cuando agrega nodos-Worker a su Swarm , aumenta la escala del Swarm para manejar las tareas sin afectar el consenso de la gerencia .
. Los nodos-Manager aumentan la tolerancia a fallas. Los nodos-Manager realizan las funciones de orquestación y administración de clústeres-Swarm. Entre los nodos-Manager, un único nodo líder realiza las tareas de orquestación. Si un nodo líder deja de funcionar, los nodos-administrador restantes eligen un nuevo líder y reanudan la orquestación y el mantenimiento del estado de Swarm. De forma predeterminada, los nodos-Manager también ejecutan tareas.
. El motor-Docker se une al Swarm según el token de unión que proporcione al (docker swarm join) comando. El nodo solo usa el tokenen el momento de unirse. Si posteriormente rotas el nodo, no afectará a los nodos de Swarm existentes.
Ilustremos todo estos conceptos con un diagrama.
Nota: Aclaración del diagrama, un único Node-Master unido como líder, los demás Node-Master están en reserva. Tenemos que tener en cuenta varios temas, el ideal para mi el numero de Node-Master serian tres. Los Nodes-Worker los limites lo ponen a disponibilidad de maquinas, precisamente que cada Nodo es una maquina un (Servidor) los Nodos-Master son tres pero los Nodes-Worker pueden llegar a ser 100 a 300 esto es una instalación de una empresa de cierto tamaño. Para un laboratorio de diseño lo que tengo a mi disposición son los siguientes, Tres Contenedores-Master situado en mi Portátil y tres Node-Worker en los tres sevidores que están a mi disposición con cuarenta Contenedores-Worker.
Unir-(Node-Worker)
-.Para empezar recuperar el comando de unión, incluido el token de unión para los Nodos-Worker, ejecute el siguiente comando en un Node-Master :
- In: root@juan-Aspire-ES1-512:/# docker swarm join –token worker
- Out: To add a worker to this swarm, run the following command: docker swarm join –token SWMTKN-1-54v5io5jxb01dgs1nh0nv4g5r9cehcxwcffm7fqv9xdab4fudh-ei1e3rmn6ecj5qp2q2t7f2hyn 192.168.1.36:2377
-. Ejecute el comando de la salida en el Node-Worker para unirse al Swarm :
- In: root@serve–hp8100:/# docker swarm join –token SWMTKN-1-54v5io5jxb01dgs1nh0nv4g5r9cehcxwcffm7fqv9xdab4fudh-ei1e3rmn6ecj5qp2q2t7f2hyn 192.168.1.36:2377
-. El (docker swarm join) comando hace lo siguiente:
- Cambia el Motor-Docker en el nodo actual al modo de Swarm.
- Solicita un certificado TLS del Master.
- Nombra el nodo con el nombre de host de la máquina
- Une el nodo actual al Swarm en la dirección de escucha del Master según el token del Swarm.
- Establece la Active disponibilidad del nodo actual , lo que significa que puede recibir tareas del planificador.
- Extiende la ingress Network-Overlay al nodo actual.
Únir-(Node-Master)
– . Cuando se ejecuta docker swarm join y pasa el token de Master, Docker-Engine cambia al modo de Swarm al igual que para los Nodo-Worker. Los nodos-Master también participan en el consenso del entorno. Los nuevos nodos deberían serlo (Reachable) pero el Node-Master existente sigue siendo el (Swarm Leader).
Nota: (aun que contradice mi opinión) Docker recomienda tres o cinco Nodos-Master por Clúster para implementar la alta disponibilidad. Debido a que los Nodos-Master del modo de Swarm comparten datos usando Raft, debe haber un número impar de Node-Master. El Swarm puede continuar funcionando siempre que haya un quórum de más de la mitad de los Nodos-Master disponibles.
-. Para recuperar el comando de unión, incluido el token de unión para los Nodos-Master, ejecute el siguiente comando en un Nodo-Master :
- In: root@juan-Aspire-ES1-512:/# docker swarm join — token manager
- Out: To add a manager to this swarm, run the following command: docker swarm join –token SWMTKN-1-54v5io5jxb01dgs1nh0nv4g5r9cehcxwcffm7fqv9xdab4fudh-bxsmxf8jd49639iy7fyehulxs 192.168.1.36:2377
. Ejecute el comando desde la salida en el nuevo Nodo-Manager para unirlo al Swarm :
- In: root@juan-Aspire-ES1-512:/# docker swarm join –-token SWMTKN-1-54v5io5jxb01dgs1nh0nv4g5r9cehcxwcffm7fqv9xdab4fudh-bxsmxf8jd49639iy7fyehulxs 192.168.1.36:2377
Recopilando :
En estos apuntes explico como agregar a Docker-Swarm los Nodes-Master y Nodes-Worker y como obtener Token.
Referencias: (Docker)