Creazione di Swarm
Occorre decidere il nodo manager. Per noi sarà gandalf (IP: 192.168.10.2).
Inizializzazione dello Swarm
Su gandalf:
docker swarm init --advertise-addr 192.168.10.2
Un output possibile è:
Swarm initialized: current node (m06bd3ak4olhz6uwfyou0bevf) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-1fw3gizof8asovcxnfxe7c1ry8e356psk4jxlntp5hcggmz3pl-1r3gejplppoijm78gcb80j5ms 192.168.10.2:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
Verificare.
docker info
.......
Swarm: active
NodeID: m06bd3ak4olhz6uwfyou0bevf
Is Manager: true
ClusterID: sqsz2f7f0gaens0ipqohgji4e
Managers: 1
Nodes: 1
.......
Lista dei nodi:
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
m06bd3ak4olhz6uwfyou0bevf * gandalf Ready Active Leader 19.03.8
Per rivedere il comando da usare sui workers che vogliono unirsi allo swarm, dare sul manager (gandalf):
docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-1fw3gizof8asovcxnfxe7c1ry8e356psk4jxlntp5hcggmz3pl-1r3gejplppoijm78gcb80j5ms 192.168.10.2:2377
Connettere nodi worker allo Swarm
Su gollum prima, poi su grendel, dare il comando:
docker swarm join --token SWMTKN-1-1fw3gizof8asovcxnfxe7c1ry8e356psk4jxlntp5hcggmz3pl-1r3gejplppoijm78gcb80j5ms 192.168.10.2:2377
Il risultato dovrebbe essere:
This node joined a swarm as a worker.
Sul manager (gandalf) verificare la lista dei nodi:
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
m06bd3ak4olhz6uwfyou0bevf * gandalf Ready Active Leader 19.03.8
ydj4e8ffjgxmwe6i683iyu4ea gollum Ready Active 19.03.8
u4kpazamccxy186bn9kttr1nu grendel Ready Active 19.03.8