Die IT-Infrastruktur bildet das technische Fundament jedes modernen Unternehmens. In der Dezember-Ausgabe widmet sich IT-Administrator deshalb der physischen ... (mehr)

Installation von Docker

Das Playbook, das in Listing 5 zu sehen ist, installiert zunächst den Docker-GPG-Key, um die Echtheit der Pakete zu verifizieren, fügt das Docker-Repository hinzu und installiert die Docker-Engine. Aufgerufen wird es analog zu den bisherigen Playbooks, allerdings verwendet es den vorher angelegten User und benötigt deshalb kein Login-Passwort mehr. Dafür wird aber jetzt ein Sudo-Passwort benötigt, das "ansible-playbook" mit dem Schalter "-K" abfragt. Wer sich das Leben vereinfachen will, kann in der Sudo-Konfiguration eintragen, dass der Benutzer auch ohne Passwort Sudo-Rechte bekommt. Wie das Playbook zeigt, verwendet Debian das Architekturkürzel "armhf" für unsere Plattform.

Listing 5: setup-docker.yml



---
- hosts: cluster
   remote_user: oliver
   become: true
   gather_facts: False
   tasks:
        - apt_key: url=https://download.docker.com/linux/raspbian/gpg
        - apt_repository:
              repo: deb [arch=armhf] https://apt.dockerproject.org/repo raspbian-jessie main
        - apt:
              name: docker-engine
              update_cache: yes

Ein Aufruf von »docker info« sollte jetzt die Informationen zur installierten Docker-Engine ausgeben. Ansible kann auch dazu verwendet werden, sogenannte Ad-Hoc-Kommandos auszuführen, um etwa Docker auf allen Knoten zu testen:

$ ansible -i hosts cluster -a "docker version"

Mit dem folgenden Befehl testen Sie, ob sich Container ausführen lassen:

$ docker run arm32v7/hello-world

Damit können Sie auf allen Knoten fertige oder eigene Docker-Images ausführen. Wie Sie diese mit Kubernetes orchestrieren, verrät die nächste Folge dieses Workshops. Eine Einkaufsliste für den Cluster ist im Kasten "Bauteile" zu finden.

Bauteile

Für unseren Raspberry-Cluster haben wir die folgenden Bauteile verwendet:- vier Raspberry Pi 3- vier Micro-USB-Karten mit 32 Gbyte- Ethernet-Switch mit fünf Ports- vier kurze Ethernet-Kabel- USB-Hub mit sechs Ports- vier Micro-USB-Kabel (Stromversorgung)- WLAN-Router

Fazit

Mit relativ geringem finanziellen Einsatz lässt sich ein echter Cluster aus Raspberry-Rechnern aufbauen, der sich für Experimente mit verteilter Software eignet. Da Docker auf ARM-Prozessoren offiziell unterstützt wird, kann ein solcher Raspberry-Cluster insbesondere als Basis für den Umgang mit Containern dienen.

Als Orchestrierungs-Tools für den ARM-Container-Cluster kommt das mitgelieferte Swarm in Frage oder auch der "Marktführer" Kubernetes, der ebenfalls für ARM zur Verfügung steht. Die Installation und Bedienung von Kubernetes beschreibt die nächste Folge dieses Workshops. Wegen der fehlenden Kompatibilität zu x86-Prozessoren ist man allerdings bei der Software-Auswahl gegenüber den Intel/AMD-Plattformen eingeschränkt.

Link-Codes

[1] Raspbian Download: https://www.raspberrypi.org/downloads/raspbian/

[2] Etcher: https://etcher.io/

[3] Docker auf nicht-amd64: https://github.com/docker-library/official-images#architectures-other-than-amd64/

comments powered by Disqus
Mehr zum Thema

Cluster mit Raspberry Pi (2)

Eine Handvoll Raspberry-Rechner lässt sich als Testplattform für Docker-Container verwenden, wie der erste Teil unseres Workshops gezeigt hat. Damit die kleinen Rechner zusammenarbeiten, setzen wir jetzt die Orchestrierungslösung Kubernetes ein.

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019