====== Docker Swarm Installation ======
Docker Swarm stellt eine Clusterumgebung/-steuerung für Docker und die Container zur Verfügung. Aufgeteilt werden die PIs in Manager und Worker. Man braucht minimum drei Manager und so viele Worker wie es gefällt. Die Manager nehmen allerdings nicht nur administrative Aufgaben wahr sondern können auch Container ausführen.
Basiert auf [[https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/|Offizielle Docker Docs]]
Mit dem ersten Befehl erstellen wir auf dem ersten Manager einen Swarm Cluster:
root@dockerman01:~# docker swarm init --advertise-addr 172.17.200.77
Swarm initialized: current node (h1ueklwju2myqotsbpkqhuknl) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-2fohyp0xovk2e6ppol8hlynjua8juesrepmbeelvaoi561ztlu-4wwdmia4lviwdbuc929pxf75s 172.17.200.77:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
===== Zusätzlicher Manager Node =====
Dazu auf dem ersten Manager Node (dockerman01):
root@dockerman01:~# docker swarm join-token manager
To add a manager to this swarm, run the following command:
root@dockerman02:~# docker swarm join --token SWMTKN-1-2fohyp0xovk2e6ppol8hlynjua8juesrepmbeelvaoi561ztlu-2bx2j8xk3u9p83gw1iubqs0pa 172.17.200.77:2377
Auf dem Node (dockerman02):
root@dockerman02:~# docker swarm join --token SWMTKN-1-2fohyp0xovk2e6ppol8hlynjua8juesrepmbeelvaoi561ztlu-2bx2j8xk3u9p83gw1iubqs0pa 172.17.200.77:2377
This node joined a swarm as a manager.
Kontrolle:
docker node ls
docker stack ls
root@dockerman02:~# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
h1ueklwju2myqotsbpkqhuknl dockerman01 Ready Active Leader 20.10.21
n4u23ksil3wqdp4ee4iz5n43j * dockerman02 Ready Active Reachable 20.10.21
===== Zusätzlicher Worker Node =====
Auf dem PI der als zusätzlicher Worker hinzugefügt werden soll:
docker swarm join --token SWMTKN-1-2fohyp0xovk2e6ppol8hlynjua8juesrepmbeelvaoi561ztlu-4wwdmia4lviwdbuc929pxf75s 172.17.200.77:2377
Kontrolle:
docker node ls
root@dockerwrk04:~# docker swarm join --token SWMTKN-1-2fohyp0xovk2e6ppol8hlynjua8juesrepmbeelvaoi561ztlu-4wwdmia4lviwdbuc929pxf75s 172.17.200.77:2377
This node joined a swarm as a worker.
Auf einem der Docker Swarm Manager kann man jetzt sehen:
root@dockerman01:~# docker stack ls
NAME SERVICES ORCHESTRATOR
root@dockerman01:~# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
h1ueklwju2myqotsbpkqhuknl * dockerman01 Ready Active Leader 20.10.21
n4u23ksil3wqdp4ee4iz5n43j dockerman02 Ready Active Reachable 20.10.21
tjghr95cvd5bf8cvz5qcxn2du dockerwrk02 Ready Active 20.10.21
jfctstt12sri9q0fr4snnxaa3 dockerwrk04 Ready Active 20.10.21