Exkurs: Was sind Container?
Container in der IT bilden in sich geschlossene, standardisierte
Einheiten für Software. Damit vereinfachen sie den Transport und
die Installation von Anwendungsdaten: Im Container befindet sich
alles, was eine Anwendung braucht, um lauffähig zu sein. Das
erleichtert Entwicklung, Transport und Deployment von Software
enorm. Die Applikation kann somit problemlos zwischen Umgebungen
verschoben und anschließend ausgeführt werden, ohne dass
Veränderungen vorgenommen werden müssen. Damit entfallen die sonst
häufig auftretenden Laufzeitprobleme in unterschiedlichen
Umgebungen.
knowis.com
Docker ist eine Containerisierungsplattform, die eine Anwendung und ihre Abhängigkeiten in einem Container zusammenfasst, sodass die Anwendung in jeder Umgebung, sei es Entwicklung, Staging oder Produktion, nahtlos funktioniert. Es ist ein Tool, dass das Erstellen, Bereitstellen und Ausführen von Anwendungen mithilfe von Containern vereinfacht. Docker-Container sind Alternativen zu virtuellen Maschinen. Der RAM muss in Containern nicht vorab zugewiesen werden, nicht so wie bei virtuellen Maschinen. Docker ist eine Open-Source-Plattform für Entwickler, Systemadministratoren und Unternehmen, mit der verteilte Anwendungen im laufenden Betrieb erstellt, ausgeliefert und ausgeführt werden können.
Kubernetes ist ein Containerverwaltungstool, das die Bereitstellung automatisiert. Während Anwendungen immer größer werden, um mehrere Container, die auf mehreren Servern bereitgestellt sind, zu verbinden, wird auch deren Betreibung immer komplexer. Aufgrund dieser Komplexität stellt Kubernetes eine Open-Source-API bereit, die steuert, wie und wo diese Container ausgeführt werden.
Docker und Kubernetes können nicht genau miteinander verglichen werden, da sie eher Hand in Hand arbeiten. Während Docker verwendet wird, um Anwednungen in Container zu isolieren, ist Kubernetes ein Container Container Scheduler / Orchestration-Tool, welches zum Bereitstellen und Skalieren der Anwendung verwendet wird. Das heißt es verwaltet mehrere Container die auf mehreren Hostcomputern bereitgestellt werden.