Joshua Resnick - Fotolia
Welche Containertechnologie braucht mein Rechenzentrum?
Erhalten Sie einen Überblick über die Container-Systeme Docker, rkt, systemd und die Möglichkeiten für Skalierbarkeit und Verfügbarkeit durch Orchestrierungs-Tools.
Die Containertechnologie verfügt über sämtliche Komponenten, die eine Anwendung im Rechenzentrum benötigt, nimmt aber weniger Speicher in Anspruch und ist leichter auf Servern zu installieren als herkömmliche Softwarepakete.
Bevor Sie sich daran machen können, Container bereitzustellen, müssen Sie zunächst die Art des Containers ermitteln. Ein Container, der mit Software ausgestattet ist, wird in aller Regel ein Docker-Container sein, denn Docker hat im Containerumfeld eine ganz erhebliche Marktdurchdringung. Je nach Containeranwendung und Systemanforderungen treffen Sie womöglich auch auf rkt und systemd.
rkt ist ein Bestandteil des Betriebssystems CoreOS und vollständig Open Source. CoreOS heißt als Linux-Distribution seit Ende 2016 Container Linux, das Unternehmen hingegen heißt weiterhin CoreOS. Trotzdem findet sich häufig noch die Bezeichnung CoreOS für die Software.
systemd-Container bieten nicht sämtliche Features von Docker, sind aber einfach zu implementieren und werden im Linux-Betriebssystem automatisch installiert. systemd bietet Socket Activation und nspawn-Container, mit deren Hilfe ein Container mehr als nur einen Prozess beherbergen kann.
Container im Netzwerk
Wenn Sie nur ein paar Docker-Container betreiben wollen, bereitet das keinen großen Aufwand. Am besten verwenden Sie dafür gleich den Linux-Server, auf dem Sie die Container-Engine installiert haben. Dieser Daemon läuft auf dem Linux-Kernel und ermöglicht den Betrieb von Containern auf Linux-Maschinen.
Die Version Docker Enterprise ist für sämtliche Linux-Typen verfügbar und wird mit Distributions-Repositorys installiert. Nur die Container-Engine allein zu betreiben, bietet allerdings keinerlei Redundanz. Daher sollte ein solches Szenario nur bei kleinen und unkritischen Workloads erwogen werden.
Skalierbarkeit und Redundanz sind in Technologiesektor der Container nur im Zusammenspiel mit Orchestrierungswerkzeugen zu haben. Ein solcher Aufbau kann etwa auf Container Linux bestehen. Dieses minimierte Linux-Betriebssystem wurde für nur einen einzigen Zweck entworfen: den Betrieb von Containern mit größtmöglicher Effizienz.
Ein Container-Linux-Setup besteht aus mehreren Hosts, die untereinander Informationen über alle aktiven Container teilen und dem Server Hochverfügbarkeit ermöglichen. Gibt es auf dem Server oder einem Container Probleme, so kann jederzeit ein anderer Node die notleidenden Workloads übernehmen.
Eine sehr bekannte Option der Orchestrierung kennen Sie vermutlich zumindest unter ihrem Namen: Kubernetes läuft auf der Container-Engine und hat die Aufgabe, Ihnen zu jeder Zeit hinreichend viele Container für einen durchgängigen und reibungslosen Betrieb zur Verfügung zu stellen. Kubernetes kann im Rechenzentrum auf einem physischen oder auch auf einem virtuellen Server installiert werden. Sie müssen lediglich darauf achten, dass Sie einige Server zusammen verwenden, damit Kontinuität und Skalierbarkeit der Verarbeitung gewährleistet bleiben.
Eine weitere Möglichkeit ist das Betreiben von Containern außerhalb des Rechenzentrums in einer Private Cloud oder auch in einer Public Cloud. Jeder etablierte Anbieter von Public Clouds bietet eine Container-Engine an. Wenn es beim Namen Kubernetes bei Ihnen auch im letzten Absatz geklingelt hat, ist der Grund einfach: Kubernetes ist in kürzester Zeit zum de-facto-Standard in der Public Cloud geworden. Insbesondere wenn ein Container weltweit für Anwender verfügbar sein muss, ist die Public Cloud vermutlich die beste aller Lösungen.