Was ist Containerorchestrierung?
Containerorchestrierung automatisiert und vereinfacht die Einrichtung, Bereitstellung und Verwaltung von containerisierten Anwendungen.
IBM Newsletter abonnieren
Blauer und schwarzer Hintergrund
Was ist Containerorchestrierung?

Containerorchestrierung automatisiert die Einrichtung, Bereitstellung, Vernetzung, Skalierung, Verfügbarkeit und das Lebenszyklusmanagement von Containern. Kubernetes ist heute die beliebteste Plattform zur Containerorchestrierung. Die meisten führenden Public-Cloud-Provider – darunter Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud und Microsoft Azure – bieten verwaltete Kubernetes-Services an. Weitere Tools zur Containerorchestrierung sind Docker Swarm und Apache Mesos.

Mehr zu Containern und warum Orchestrierung notwendig ist

Container sind schlanke, ausführbare Anwendungskomponenten, die den Anwendungsquellcode mit allen Betriebssystembibliotheken und Abhängigkeiten kombinieren, die für die Ausführung des Codes in der Umgebung erforderlich sind.

Die Erstellung von Containern ist schon seit Jahrzehnten möglich. Aber erst seit 2008, als Linux die Container-Funktionalität in seinen Kernel aufnahm, ist diese Option weithin verfügbar und fand mit der Einführung von Docker, einer Open-Source-Plattform zur Containerisierung, im Jahr 2013 breite Nutzung. (Docker ist so beliebt, dass „Docker-Container“ und „Container“ oft synonym verwendet werden.)

Da sie kleiner, ressourceneffizienter und portierbarer als virtuelle Maschinen (VMs) sind, wurden Container – genauer gesagt containerisierte Microservices oder serverlose Funktionen – zu den De-facto-Recheneinheiten moderner cloudnativer Anwendungen. (Weitere Informationen zu den Vorteilen von Containern finden Sie in der nachstehenden interaktiven Datenvisualisierung)

In kleiner Anzahl können Container problemlos manuell bereitgestellt und verwaltet werden, aber in den meisten Unternehmen steigt die Zahl containerisierter Anwendungen rasant. Das Container-Management in großem Umfang – insbesondere als Teil einer Continuous Integration/Continuous Delivery (CI/CD)- oder DevOps-Pipeline – ist ohne Automatisierung nicht möglich.

Hier kommt die Containerorchestrierung ins Spiel, die die Betriebsaufgaben rund um die Bereitstellung und Ausführung von containerisierten Anwendungen und Services automatisiert. Laut einer aktuellen IBM Studie (PDF) berichten 70 % der Entwickler, die Container verwenden, dass sie eine Lösung zur Containerorchestrierung verwenden, und wiederum 70 % davon geben an, dass sie einen vollständig verwalteten (cloudverwalteten) Service zur Containerorchestrierung in ihrem Unternehmen nutzen.

Vollständigen Bericht herunterladen: Nutzung von Containern im Unternehmen
So funktioniert die Containerorchestrierung

Es gibt zwar Unterschiede in den Methoden und Funktionen der verschiedenen Tools, aber die Containerorchestrierung ist im Wesentlichen ein dreistufiger Prozess (oder Zyklus, wenn er Teil einer iterativen agilen oder DevOps-Pipeline ist).

Die meisten Tools zur Containerorchestrierung unterstützen ein deklaratives Konfigurationsmodell: Ein Entwickler schreibt eine Konfigurationsdatei (je nach Tool in YAML oder JSON), die einen gewünschten Konfigurationsstatus definiert. Das Orchestrierungstool führt daraufhin die Datei aus und verwendet seine eigene Intelligenz, um den gewünschten Status zu erreichen. Normalerweise hat eine Konfigurationsdatei die folgenden Aufgaben:

  • Definition, aus welchen Container-Images die Anwendung besteht und wo diese sich befinden (in welcher Registry)

  • Versorgung der Container mit Speicher und anderen Ressourcen

  • Definition und Schutz der Netzverbindungen zwischen Containern

  • Festlegung der Versionierung (für Stufen- oder Canary-Rollouts)

Das Orchestrierungstool plant die Bereitstellung der Container (und der Replikate der Container für die Ausfallsicherheit) auf einem Host und wählt den besten Host auf der Grundlage der verfügbaren CPU-Kapazität, des Hauptspeichers oder anderer in der Konfigurationsdatei angegebener Anforderungen oder Einschränkungen aus. 

Sobald die Container bereitgestellt sind, verwaltet das Orchestrierungstool den Lebenszyklus der containerisierten Anwendung basierend auf der Container-Definitionsdatei (häufig eine Docker-Datei). Dies umfasst:

  • Verwaltung der Skalierbarkeit (nach oben und unten), des Lastausgleichs und der Ressourcenzuordnung zwischen den Containern

  • Sicherstellung von Verfügbarkeit und Leistung durch Verlagerung der Container auf einen anderen Host im Falle einer Betriebsunterbrechung oder fehlender Systemressourcen

  • Sammeln und Speichern von Protokolldaten und anderen Telemetriedaten zur Überwachung des Zustands und der Leistung der Anwendung.

Vorteile der Containerorchestrierung


Der Hauptvorteil der Containerorchestrierung liegt eindeutig in der Automatisierung – und das nicht nur, weil sie den Aufwand und die Komplexität der Verwaltung eines großen containerisierten Anwendungsbestands erheblich reduziert. Durch die Automatisierung der Abläufe unterstützt die Orchestrierung einen agilen oder DevOps-Ansatz, mit dem Teams in schnellen, iterativen Zyklen neue Funktionen und Funktionalitäten schneller entwickeln und bereitstellen können.

Darüber hinaus kann die Intelligenz eines Orchestrierungstools viele der inhärenten Vorteile der Containerisierung verbessern oder erweitern. So maximiert beispielsweise die automatische Hostauswahl und die Ressourcenzuordnung auf der Grundlage einer deklarativen Konfiguration die effiziente Nutzung von Computerressourcen, während die automatische Statusüberwachung und Verlagerung von Containern die Verfügbarkeit optimiert.

Kubernetes

Wie bereits erwähnt, ist Kubernetes die beliebteste Plattform zur Containerorchestrierung. Zusammen mit anderen Tools im Container-Ökosystem kann ein Unternehmen mit Kubernetes eine hochproduktive Platform as a Service (PaaS) bereitstellen, die viele der infrastruktur- und betriebsbezogenen Aufgaben und Probleme im Zusammenhang mit der Entwicklung von cloudativen Anwendungen löst, sodass sich die Entwicklungsteams ausschließlich auf die Codierung und Innovation konzentrieren können.

Die Vorteile von Kubernetes gegenüber anderen Orchestrierungslösungen ergeben sich vor allem aus den umfassenderen und fortgeschrittenen Funktionen in verschiedenen Bereichen, darunter:

  • Containerbereitstellung. Kubernetes stellt eine bestimmte Anzahl von Containern auf einem bestimmten Host bereit und führt diese im gewünschten Zustand aus.

  • Rollouts. Ein Rollout ist eine Änderung an einer Bereitstellung. Mit Kubernetes können Sie Rollouts initialisieren, anhalten, fortsetzen oder zurücksetzen.

  • Serviceerkennung. Kubernetes kann automatisch einen Container im Internet oder anderen Containern unter Verwendung eines DNS-Namens oder einer IP-Adresse zur Verfügung stellen.

  • Speicherbereitstellung. Entwickler können Kubernetes so einrichten, dass bei Bedarf permanenter lokaler oder Cloud-Speicher für Ihre Container bereitgestellt wird.

  • Lastausgleich und Skalierbarkeit. Wenn der Datenverkehr zu einem Container sprunghaft ansteigt, kann Kubernetes durch Lastausgleich und Skalierung den Datenverkehr über das Netz verteilen und so Stabilität und Leistung gewährleisten. (Entwickler müssen daher auch keine Lastausgleichsfunktion einrichten.)

  • Automatische Fehlerbehebung für hohe Verfügbarkeit. Wenn ein Container ausfällt, kann Kubernetes ihn automatisch neu starten oder ersetzen. Es kann auch Container entfernen, die nicht den Anforderungen der Zustandsüberwachung entsprechen.

     
  • Unterstützung und Portierbarkeit für mehrere Cloud-Provider. Wie bereits erwähnt, wird Kubernetes von allen führenden Cloud-Providern unterstützt. Dies ist besonders wichtig für Unternehmen, die Anwendungen in einer Hybrid-Cloud- oder Hybrid-Multicloud-Umgebung bereitstellen.

  • Wachsendes Ökosystem von Open-Source-Tools. Kubernetes verfügt außerdem über ein stetig wachsendes Portfolio von Tools zur Verbesserung von Bedienungskomfort und Netzbetrieb, um seine Funktionalität über die Kubernetes-API zu erweitern. Dazu gehören Knative, das die Ausführung von Containern als serverlose Workloads ermöglicht, und Istio, ein Open-Source-Servicenetz. 

Weitere Informationen zu Kubernetes

Weiterführende Lösungen
Red Hat OpenShift on IBM® Cloud

Red Hat OpenShift on IBM® Cloud nutzt OpenShift in öffentlichen und hybriden Umgebungen für Geschwindigkeit, Marktreaktivität, Skalierbarkeit und Zuverlässigkeit.

Red Hat OpenShift on IBM® Cloud kennenlernen
IBM Cloud Satellite

Mit IBM® Cloud Satellite können Sie überall konsistente Cloud-Services starten – lokal, am Edge und in Public-Cloud-Umgebungen.

IBM® Cloud Satellite kennenlernen
IBM Cloud Code Engine

Führen Sie Container-Images, Stapeljobs oder Quellcode als serverlose Workloads aus – ohne Größenanpassung, Bereitstellung, Vernetzung oder Skalierung.

IBM® Cloud Code Engine kennenlernen
Optimieren Sie Kubernetes mit IBM® Turbonomic

Bestimmen Sie automatisch die richtigen Maßnahmen für die Ressourcenzuordnung – und den richtigen Zeitpunkt, um sicherzustellen, dass Ihre Kubernetes-Umgebungen und geschäftskritischen Apps genau das bekommen, was sie zur Erfüllung Ihrer SLOs benötigen.

IBM Turbonomic kennenlernen
Ressourcen Nutzung von Containern im Unternehmen

Eine neue Studie von IBM dokumentiert die rasante Verbreitung von Containern und Kubernetes.

Kombinieren Sie die besten Funktionen der Cloud und der traditionellen IT

Containerorchestrierung ist eine Schlüsselkomponente einer offenen Hybrid-Cloud-Strategie, mit der Sie Workloads von überall aus erstellen und verwalten können.

Was ist Docker?

Docker ist eine Open-Source-Plattform zum Erstellen, Bereitstellen und Verwalten von containerisierten Anwendungen.

Gehen Sie den nächsten Schritt

Red Hat OpenShift on IBM® Cloud bietet Entwicklern eine schnelle und sichere Möglichkeit zur Containerisierung und Bereitstellung von Unternehmensworkloads in Kubernetes-Clustern. Entlasten Sie Ihre Teams von mühsamen Routineaufgaben wie Sicherheitsmanagement, Konformitätsmanagement, Implementierungsmanagement und laufendes Lebenszyklusmanagement. Da IBM die Verwaltung der OpenShift Container Platform (OCP) übernimmt, haben Sie nun mehr Zeit, sich auf Ihre Kernaufgaben zu konzentrieren.

Red Hat OpenShift on IBM® Cloud kennenlernen