Wer wollte nicht schon immer seinen eigenen Cluster haben? Jetzt hier die Installationsanleitung für einen Raspberry PI Cluster mit Docker Swarm. Der Raspberry Pi dient als Plattform und Docker Swarm als Softwaregrundlage für den Cluster. Mit diesem lassen sich dann Hochverfügbar Container betreiben. Auch bei einem Ausfall eines Knotens starten die gehosteten Container direkt auf einem anderen Knoten neu. Zum Beispiel ist es auch problemlos möglich eine Webseite zu hosten mit Load-Balancing. Aber auch der Softwareteil Docker Swarm bringt ein Overlay und Ingress Netzwerk mit, was für Verfügbarkeiten genutzt werden kann.
Was brauche ich alles für den Cluster?
Alles was du brauchst findest du hier:
- Raspberry Pi 4 4GB – 150,99 EUR
- Raspberry Pi Cluster Gehäuse– 19,99 EUR
- 5 Fach USB Netzteil–
- SanDisk Extreme 32GB– 18,95 EUR
- NetGear GS305– 16,99 EUR
- 5 x 0.5m RJ45 CAT7 Kabel– 11,50 EUR
- 4x Micro USB Kabel–
Architektur-Planung für den Cluster

Alle im Video benutzen Befehle
#Raspberry Pi Konfigurieren
sudo raspi-config
#Kernel Updates
sudo rpi-update
#Pakete Updaten
sudo apt update
sudo apt upgrade -y
sudo reboot
#Docker installieren
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
usermod -aG docker $USER
#Docker Cluster erstellen
sudo docker swarm init --advertise-addr <MANAGER-IP>
#Worker hinzufügen
sudo docker swarm join --token <dein-worker-token> <MANAGER-IP>:2377
#Manager hinzufügen
sudo docker swarm join-token manager
sudo docker swarm join --token <dein-MANAGER-token> <MANAGER-IP>:2377
#Portainer Swarm Stack ausrollen
curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
sudo docker stack deploy -c portainer-agent-stack.yml portainer
#Nodes ansehen
sudo docker node ls
4. Juni 2021 um 06:11
Super tutorial. Das ganze habe ich mit 4 Ubuntu 20.04 VMs nachvollziehen können.
Ich freue mich schon auf die Fortsetzung.
Danke Dennis
4. Juni 2021 um 09:39
Hallo,
super Video, wie immer !
Hat sich oben bei den Befehlen evtl. ein Fehler eingeschlichen ?
#Pakete Updaten
sudo apt update
sudo apt upgrade -y
#Kernel Updates
sudo rpi-update
sudo reboot
Kann man auch noch nachträglich Master und Worker zum Schwarm hinzufügen ?
28. Juni 2021 um 12:31
Ja Moin,
besten Dank für diesen Content… sehr cool.
Was aber ist nach einem Neustart des Clusters? “restart: always” ist ja quasi nicht deklariert oder doch?!?
Danke,
axel
28. Juni 2021 um 13:38
Noch mal neu ausgerollt, diesmal mit fixen IPs und so bleibt der Cluster dann natürlich auch bestehen…
31. August 2021 um 14:32
Hi Dennis,
du empfiehlst oben ein Raspberry Pi 4 und für die Stromversorgung Micro USB Kabel. Das 4er hat für die Stromversorgung aber kein Micro-USB mehr, sondern USB-C. (Hab’s leider selbst vorher nicht gecheckt und jetzt 4 unnötige Kabel rumliegen :/ )
31. Juli 2022 um 16:39
Hey Dennis,
beim installieren von Portainer erhalte ich folgende Fehlermeldung:
curl: (7) Failed to connect to downloads.portainer.io port 443: No route to host
Wie kann ich das beheben? :/
31. Juli 2022 um 20:39
hab /etc/dhcpcd.conf angepasst, jetzt gehts
31. Juli 2022 um 23:39
Dank deinen Tutorials habe ich jetzt zwei neue Pis in einem Swarm und meinen alten Pi mit Docker Standalone auf dem bis jetzt mein PiHole, Bitwarden und all meine anderen Container laufen. Jetzt frage ich mich, wie kann ich den jetzt als Master zum Swarm hinzufügen ohne alles zu verlieren?
8. September 2022 um 09:16
Ahoi Dennis,
dein Beitrag ist zwar schon etwas älter aber trotzdem finde ich ihn sehr gut und verständlich gemacht. Leider kann ich nicht auf die GUI von Portainer zugreifen.
Ich habe den Cluster auf einer Proxmox Umgebung in Debian 11. Docker läuft und der Swarm steht (auf einem Pi4).
Es scheint das dass routing über die bridge nicht sauber geht, da ich allerdings nicht sehr tief in der Materie stecke, hoffe ich das du mir noch einen Anhaltspunkt geben kannst.
13. Dezember 2022 um 08:05
Super Tutorial funktioniert mit Debian 11.5 immer noch ! Weiter so
24. April 2023 um 22:03
Hi,
danke dir hast mir gut geholfen mit dein Beitrag. Das Video ist auch gut.