The Doppler Quarterly (DEUTSCHE) Winter 2016 | Page 47

Kein Rätselraten mehr: die Tool- landschaft für Docker-Container Jon Baier Unsere Einschätzung der wichtigsten Tools für die Container-Koordinierung und der Richtung, in die sich der Markt bewegt. Die Landschaft der Koordinierungstools Rund um Docker und Container gibt es reichlich Dynamik, Begeisterung und Energie – und eine große Bereitschaft, dieses neue Modell zumindest in Ent- wicklungs- und Testumgebungen einzuführen. Ange- sichts dieser Begeisterung und der Einführung durch die Entwickler tun Unternehmen gut daran, sich langsam mit dem Management des Container-Chaos zu beschäftigen. Um Sie dabei zu unterstützen, möchten wir Ihnen einen Überblick geben, wie der Stand der Dinge ist und was wir in den kommenden Monaten erwarten können. Eine der Schwierigkeiten bei den aktuellen Tools besteht darin, dass sie nur in einigen Bereichen Über- schneidungen aufweisen und ihre Gesamtfunktiona- lität nicht direkt verglichen werden kann. Viele der Tools sind austauschbar, andere wiederum ergänzen sich in manchen Fällen. Um Ihnen hier sozusagen als Leuchtturm zu dienen, haben wir die Tools anhand von fünf Schlüsselattributen beurteilt: Hochverfüg- barkeit, Skalierbarkeit und Einsatz in der Praxis, Ein- fachheit der Einführung, Vernetzung und Erweiter- barkeit über Container hinaus. In der letzten Kategorie achteten wir auf die Möglichkeit, das Tool mit verschiedenen Entwicklungsprojekten zu kombi- nieren, darunter auch Projekte, die nicht containero- rientiert sind oder auch nur entfernt etwas mit Con­ tainern zu tun haben. Hochverfügbarkeit Es wurden hier drei Funktionen ausgewählt, die sich leicht vergleichen lassen und für die Hochverfügbar- keit speziell von Clustern wichtig sind. Zunächst sehen wir uns das Master-Failover an. Dazu gehört die Möglichkeit des Failovers für einen Cluster-Mas- ter und der Auswahl einer bestehenden Maschine als neuen Master. Die nächste untersuchte Funktion ist die Statusprüfung oder die Fähigkeit des Systems zu erkennen, wann die Anwendung und der Cluster wirklich verfügbar sind. Und schließlich sahen wir uns die automatische Neueinteilung nach einem Aus- fall an. Wenn ein Teil des Clusters ausfällt, möchten wir sicher sein können, dass unsere Contai­ ner- Workload neu angesetzt und neu gestartet wird. Mesos verfügt über einen Hochverfügbarkeitsmodus, der auf Apache ZooKeeper basiert. Im HA-Modus werden mehrere Master ausgeführt. Ein aktiver Mas- ter wird zum „Leader“ gekürt. Falls der aktive Master ausfällt, wird ein neuer Master ausgewählt. Auch Swarm und Kubernetes unterstützen eine „hoch ver- fügbare“ Master-Konfiguration. Diese Funktion ist nicht sofort einsatzfähig, doch es gibt bei beiden Tools Leitfäden für die Einrichtung. Swarm, Mesos und Kubernetes verfügen alle über TCP/HTTP-Methoden für die Statusprüfung. Die befehlsbezogene Statusprüfung geht noch einen Schritt weiter: Damit können bestimmte Befehle aus- geführt und geprüft werden. K8s unterstützt diese Art der Prüfung bereits seit einer Weile nativ. Außer- dem beinhaltet Kubernetes integrierte Konstrukte für Services. Mithilfe der Statusprüfungen lässt sich beurteilen, welche Hosts stabil genug sind, um Ser- viceverkehr zu verarbeiten. Auch Mesos unterstützt befehlsbezogene Statusprüfungen und korrigierte kürzlich einige der Probleme, die ihre Nutzung zuvor verhinderten. Und schließlich können sowohl Mesos als auch K8s Container neu einteilen. Bei einem Hostausfall wird WINTER 2016 | THE DOPPLER | 45