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

ARM ist nicht gleich ARM

Bevor Sie nun anfangen, auf dem Cluster Docker zu betreiben, noch ein paar Worte zur Plattform, die hier entsteht. Da auf den Raspberry-Rechnern ein ARM-Prozessor verbaut ist und es sich bei der Container-Technologie nicht um Virtualisierung handelt, kann in den Containern auch nur Software laufen, die für ARM-Prozessoren geschrieben ist.

Während in den letzten Jahren die Intel- und AMD-Plattformen mit "AMD64" respektive "x86-64" mehr oder weniger zu einem einzigen Binärformat konvergiert sind, gibt es bei ARM-Rechnern noch ein relativ großes Chaos. So koexistieren in der ARM-Welt weiterhin 32- und 64-Bit-Prozessoren mit zum Teil unterschiedlicher Nomenklatur und unterschiedlichen ABIs (Application Binary Interface). Darüber hinaus gibt es die ARMv7-Architektur (32 Bit) mit einer in Hardware realisierten Floating-Point-Einheit. Letztere hat sich, zumindest für die Embedded Boards wie Raspberry, zu einer Art Standard entwickelt, auf die sich die meisten Linux-Distributionen wie Debian konzentrieren, während der Serverbereich mit 64 Bit und ARMv8 noch relativ exotisch ist. Gängige Kurzbezeichnungen dafür sind etwa "armv7", "armhf" oder "armhfp".

Listing 4: set-hostnames.yml



---
- hosts: cluster
   become: true
   gather_facts: False
   tasks:
        - name: set hostname for all nodes in cluster
           hostname: name: "{{hostname}}"
        -name: add all cluster nodes to the hosts file on each host
         lineinfile: dest=/etc/hosts regexp='{{hostvars[item].hostname}}' line="{{ item }} {{hostvars[item].hostname}}" state=present with_items: "{{groups.cluster}}"

Unzureichender Architektur-Support in Docker

Docker-Images besitzen zwar mittlerweile in den Metadaten ein Feld für die Architektur, das aber von den Tools ignoriert wird, sodass es dem Anwender überlassen bleibt, auf die richtige Architektur zu achten. Eine weitere Organisationsstruktur, um die passenden Images zu finden, sind die sogenannten Organizations in der Docker Registry, die aber nach Belieben verwendet oder zweckentfremdet werden. Typischerweise sind sie dafür gedacht, dass etwa eine Firma ihre Images innerhalb dieses Namespaces ablegt.

Weil aber eine andere Ordungsstruktur fehlt, gibt es im Docker Hub eben auch "Organizations", in denen Images für die ARM-Architektur zu finden sind, beispielsweise "armv7" und "armhf". Zuletzt gibt es auch noch Anwender, die die Architektur im Image-Namen codieren, etwa "easypi/alpine-arm" oder etwa die schon erwähnte Hypriot mit "hypriot/rpi-mysql" oder "hypriot/armhf-hello-world".

Das bislang letzte und offizielle Wort dazu ist jedenfalls, dass "armhf" zugunsten der spezifischeren Organizations "arm32v7" und "arm32v6" abgelöst wird (siehe [3]). "arm32v6" ist dabei für Raspberry Pi 1, Raspberry Pi Zero gedacht, während der Raspberry Pi 3 (der im Übrigen einen 64-Bit-Prozessor besitzt) die Images aus "arm32v7" verwenden kann. Künftig sollen alle Tools, insbesondere diejenigen, die das Open-Container-Initiative-Format implementieren, automatisch die richtige Architektur wählen – sofern sie in der entsprechenden Image-Registry am richtigen Ort bereitsteht.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite