Drahtlose Netzwerke sind überall: Zu Hause, im Café und in der Firma. Im Gegensatz zu Kabelnetzen verliert der Admin bei WLANs allerdings schnell die ... (mehr)

Die Docker-API

Eleganz kommt auch bei Dockers API zum Ausdruck: Das ist quasi eine zentrale Schalt- und Schnittstelle einer Docker-Installation, die sich über eine API nach dem ReSTful-Prinzip bedienen lässt. Sie ist im Hintergrund dafür verantwortlich, dass mittels »docker« auf der Kommandozeile eingegebene Befehle tatsächlich auch umgesetzt werden. Sämtliche Docker-Befehle sind also letztlich verkappte API-Aufrufe, die Docker-API erledigt die echte Arbeit. Der Vorteil einer solchen Architektur liegt auf der Hand, denn mit der API als abstraktem Befehlsempfänger im Hintergrund sind der Fantasie bei der Entwicklung von Frontends kaum Grenzen gesetzt. Alle gängigen Cloud-Computing-Lösungen setzen auf ähnliche Designs, und wie bei Amazons EC2 oder OpenStack hat sich das Prinzip auch bei Docker bewährt: Neben dem »docker« -Tool auf der Kommandozeile steht mittlerweile auch eine grafische Oberfläche namens Docker-UI [2] zur Verfügung (Abbildung 2). Und einen Konkurrenten dazu gibt es auch schon: Shipyard [3] buhlt ebenfalls um die Gunst der Nutzer (Abbildung 3).

Abbildung 2: Das DockerUI ist eines von zwei GUIs, die für den Docker-Einsatz zur Verfügung stehen. Als Alternative bietet sich …
Abbildung 3: … Shipyard an, das ebenfalls etwas puritanisch daherkommt, aber alle wichtigen Funktionen mitbringt.

Cloud-Integration

Docker qualifiziert sich mit seinen Fähigkeiten freilich auch für höhere Aufgaben. Wer kein vollständig virtualisiertes System benötigt, sondern lediglich einen passenden Container – beispielsweise für Entwicklungszwecke – zieht aus Docker große Vorteile. So liegt es nur nahe, Docker auch in typische Cloud- und Virtualisierungslösungen zu integrieren – und in weitere Tools und Werkzeuge, die ebenfalls im Fahrwasser der großen Cloud-Umgebungen unterwegs sind.

OpenStack dominiert den Markt der Open-Source-Clouds im Augenblick ganz eindeutig, das ist auch den Docker-Entwicklern offenbar nicht entgangen. Denn die Virtualisierungskomponente von OpenStack, Nova[4], kommt mittlerweile mit Unterstützung für Docker daher.

Nova ist grundsätzlich modular aufgebaut, und die Virtualisierungstechnik, die zum Einsatz kommen soll, lässt sich per Plugin aktivieren. Deshalb lässt sich über einen simplen Eintrag in »nova.conf« steuern, welche Technik die OpenStack-Komponente im Hintergrund einsetzt; zur Auswahl stehen zum Beispiel KVM, HyperV und VMware. Und neuerdings auch Docker (Abbildung 4): OpenStack startet dann im Hintergrund keine komplette VM, sondern legt einen Docker-Container an, der als virtuelles System mit eigener Funktionalität aufwartet. Die Integration von Docker ist dabei nahtlos, einen Unterschied erkennt man zwischen einer mit KVM gestarteten Voll-VM und Docker zunächst nicht. Im Detail wird aber deutlich, dass qualitative Unterschiede vorhanden sind.

Abbildung 4: Dieser Eintrag aktiviert den seit der Havana-Release in OpenStack vorhandenen Docker-Virtualisierungstreiber.

Die hängen zum Teil mit den Anforderungen zusammen, die Docker an sich selbst stellt: Weil die Anwendung nach innen wie beschrieben stets das gleiche System präsentieren möchte, muss sie sich auf der Außenseite verbiegen. Das erfordert einen hohen Grad an Anpassbarkeit im Hinblick auf verschiedene Faktoren, zum Beispiel das Thema Netzwerk.

Der Docker-Treiber in Nova unterstützt aber in der Havana-Release von OpenStack lediglich den alten Netzwerkstack »nova-network« , der vermutlich in der übernächsten Release aus OpenStack entfernt werden wird. Ein Bug-Report in Launchpad legt den Verdacht nahe, dass es sich um einen Bug handelt, und nicht etwa um ein bewusst noch nicht implementiertes Feature [5]. Wer OpenStack mit dem zukunftsträchtigen Neutron-SDN-Stack einsetzt, schaut also vorerst ins Leere. Gerade weil Docker gerade ein echtes Hype-Thema ist, dürfte der Fehler allerdings in absehbarer Zeit korrigiert werden. Wie reif die Docker-Implementation in Nova ist, lässt sich auf diese Weise allerdings kaum beurteilen.

Abbildung 5: Der OpenStack-Image-Dienst Glance kann nach einer kleinen Änderung der Konfiguration Docker-Container als Images verwenden.

Ähnliche Artikel

comments powered by Disqus

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

Ausgabe /2021