Containerverwaltung ist der organisierte Prozess zum Erstellen, Bereitstellen, Skalieren und Verwalten von Containern mithilfe von Containerverwaltungssoftware wie Kubernetes oder Docker Swarm.
Mithilfe von Containern können Entwickler unabhängige Anwendungen erstellen, die mit einem Betriebssystem gepackt sind, das in jeder Umgebung ausgeführt werden kann. Sie verkürzen die Testzeit und ermöglichen es dem IT-Betrieb, Anwendungen schnell in einer betrieblichen Produktionsumgebung bereitzustellen. Die Containerverwaltung bietet Benutzern die Schnittstelle, Steuerelemente und Mechanismen zum effizienten Erstellen, Hinzufügen, Bereitstellen, Ersetzen, Lastausgleich und Skalieren von Anwendungscontainern.
Ein Container ist eine kleine isolierte Laufzeitumgebung, die alles enthält, was eine Anwendung zum Funktionieren benötigt, z. B. Dateien, Bibliotheken, Aufrufe und Verbindungen zum Betriebssystemkern. Die Entwicklungsumgebung einer Anwendung kann sich stark von der Produktionsumgebung unterscheiden, in der sie ausgeführt werden soll, und diese Unterschiede verursachen Fehler und unvorhersehbares Verhalten in Anwendungen. Container fassen Code und alle Abhängigkeiten zusammen, damit sie in jeder Computerumgebung vorhersehbar und zuverlässig ausgeführt werden können. Ein Container ist sogar von einem anderen Container isoliert, es sei denn, er verfügt über einen bestimmten Code zum Verbinden.
Die modulare Eigenschaft eines Containers ermöglicht es Entwicklern, schnell neuen Code zu schreiben oder vorhandenen Code zu reparieren, ohne die gesamte Anwendung neu erstellen zu müssen. Der IT-Betrieb kann das Update mit minimalen Ausfallzeiten bereitstellen. Die geringe Größe, normalerweise in der Größenordnung von zehn Megabyte, kann manchmal eine große Anzahl von Containern erfordern, um die vollständige Funktionalität einer komplexen Anwendung und ihre vielen Funktionen bereitzustellen. Beispielsweise verwaltet Google Milliarden von Containern, die seine Webdienste betreiben. Um alle diese Container, die in komplexen verteilten Systemen bereitgestellt werden, organisiert und effizient zu überwachen und zu steuern, ist ein Containermanagement erforderlich.
Ohne ein Containerverwaltungssystem müssen Benutzer Container für ihre Anwendungen manuell und individuell erstellen, neue bereitstellen, ältere Versionen ersetzen, ihren Status verfolgen und die containerisierten Anwendungen abhängig von den verfügbaren Computerressourcen vergrößern oder verkleinern. Das Containermanagement automatisiert viele dieser Prozesse. Es vereinfacht die Reproduktion, Bereitstellung und Planung einer großen Anzahl von Containern. Eine spezialisiertere Containerverwaltung kann die Container-Orchestrierung ermöglichen. Es bietet Benutzern zusätzliche Automatisierungssteuerungen zum Konfigurieren der erforderlichen Komponenten und zum Bereitstellen von Containerclustern, wenn diese in einer Vielzahl von Umgebungen benötigt werden.
Containermanagementsysteme bieten Benutzern die Möglichkeit, den Zustand von Containern in der Produktion zu überwachen, fehlerhafte Container zu ersetzen und blockierte Container neu zu starten. Sie bieten auch einen Mechanismus zum Verwalten der Netzwerk- und Sicherheitskomponenten von Containern. Die Systeme sind zu einem unverzichtbaren Werkzeug geworden, insbesondere für Unternehmen, die DevOps verwenden. Sie beschleunigen den Lebenszyklus einer Anwendung von der Entwicklung bis zur Produktion und senken gleichzeitig die Betriebskosten. Container-Management-Systeme sind als Open Source- und proprietäre kommerzielle Software erhältlich.
Einige Containerverwaltungssysteme sind:
- Kubernetes (große Cloud-Dienste wie Amazon, Azure und Google bieten Kubernetes-Versionen für ihre Umgebungen an)
- Hafenschwarm
- IBM RedHat OpenShift
- Rancher
- Wolkengießerei
- Integrierte VMware vSphere-Container