Docker & Kubernetes

Was ist Docker & Kubernetes? & Was gibt es für Unterschiede?

Was ist Docker & was Kubernetes?

Exkurs: Was sind Container?

Virtuelle Maschine versus 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

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.

  • Einfache und schnelle Konfiguration - Codes können mit minimalem Aufwand und kürzerer Zeit bereitgestellt werden
  • Steigert die Produktivität - Reduziert Ressourcen, schnelle Bereitstellung
  • Anwendungsisolation - Die Docker Container isolieren die Anwendungen
  • Sicherheitsmanagement
  • Viele verschiedene Anwendungen laufen auf Docker: PostgreSQL, Java, Redis, etcd, APACHE, elastic, mongoDB, NGINX

Kubernetes (K8s / Kube)

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 & Kubernetes

Docker versus Kubernetes

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.

Docker und Kubernetes
Ähnlichkeiten zwischen docker und Kubernetes:
  • Beide fühlen sich von einer Microservice-basierten Architektur angezogen
  • Sie sind größtenteils in Go geschrieben, wodurch sie als leichte Binärdateien geliefert werden können
  • Beide verwenden YAML-Dateien, und diese Dateien sind leicht lesbar
Richtige Containerstrategie:
Zuerst sollten IT-Teams die kurz- und langfristigen IT-Ziele kennen, bevor sie sich für eine Containerstrategie entscheiden. Wenn aber eine Containerstrategie angestrebt wird dann kann sie wie oben schon beschrieben aus einer Containersoftware (bspw. Docker) und einer Containerorchestrierung (bspw. Kubernetes) bestehen. Containerstrategie
Zurück