Inhaltsverzeichnis

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