====== 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