Swarm
Swarm converteix un conjunt de màquines amb docker en una sola màquina lògica on desplegues serveis en comptes de contenidors.
Introducció
Amb Compose pots declarar tota una aplicació en un fitxer, però tot passa en una sola màquina.
Aquesta màquina és un punt únic de fallada: si s’apaga, l’aplicació desapareix sencera.
I quan es queda petita, l’única sortida és comprar-ne una de més gran.
Docker Swarm agrupa diverses màquines amb docker en un sol clúster que es comporta com si fos una màquina única.
Tu declares quin servei vols i quantes rèpliques, i el clúster decideix a quina màquina va cada contenidor.
⚠️ No confonguis Swarm mode, que és el que ve integrat a docker des de la versió 1.12, amb Docker Classic Swarm, un producte anterior i independent que ja no es manté.
Nodes
Un clúster té dos tipus de node:
-
Els managers guarden l’estat desitjat del clúster i decideixen on va cada contenidor.
-
Els workers només executen el que el manager els diu.
Un manager també executa contenidors, tret que li diguis el contrari.
Inicialitza un clúster a la primera màquina:
Swarm initialized: current node (kv2b8nmhq7rksb2p9qzr8yqzu) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3pu6hszjas14... 192.168.123.6:2377Executa l’ordre que t’ha donat en una segona màquina, i ja tens un clúster de dos nodes:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
kv2b8nmhq7rksb2p9qzr8yqzu * node-1 Ready Active Leader
p3l7dxrfqzp8kt4m2bwn1cvxa node-2 Ready ActiveServei
En un swarm no arrenques contenidors: declares serveis.
Un servei diu quina imatge s’ha d’executar i quantes rèpliques n’hi ha d’haver.
ID NAME MODE REPLICAS IMAGE PORTS
u8k1x0mzqpqe web replicated 3/3 httpd:2.4 *:80->80/tcpMira on han anat a parar les tres rèpliques:
NAME IMAGE NODE DESIRED STATE CURRENT STATE
web.1 httpd:2.4 node-1 Running Running 2 minutes ago
web.2 httpd:2.4 node-2 Running Running 2 minutes ago
web.3 httpd:2.4 node-1 Running Running 2 minutes agoEstàs llegint una vista prèvia.
Inicia la sessió amb Google per llegir la pàgina sencera.
Inicia la sessió amb GoogleNomés et demanarem que acceptis les condicions del servei.