Was ist Kubernetes und wie ist ein Kubernetes Cluster zusammengesetzt?
  • WK IT GmbH
  • Was ist Kubernetes und wie ist ein Kubernetes Cluster zusammengesetzt?

Was ist Kubernetes und wie ist ein Kubernetes Cluster zusammengesetzt?

Kubernetes ist ein Open-Source-System, das die Bereitstellung, Skalierung, Verwaltung und Steuerung von containerisierten Anwendungen automatisiert. Durch Kubernetes wird das Management und Monitoring der Anwendungen drastisch vereinfacht, indem die Container in eine logische Einheit gruppiert werden. Die manuelle Betreuung wie das Starten, Updaten und Monitoren entfällt. Diese Aufgaben werden stattdessen automatisch von Kubernetes übernommen. Der Entwickler gibt unter anderem die Anzahl der Instanzen, die Limits der Hardwareressourcen, die die Anwendung verwenden darf, die Ports und über welchen DNS-Namen (z. B. my-application.wk-it.com) die Anwendung erreichbar sein soll an. Dies klingt im ersten Moment immer noch viel, es sind aber deutlich weniger Angaben als ohne den Einsatz von Kubernetes notwendig wären.

Gut zu wissen: Kubernetes wird oft mit K8s abgekürzt. Die acht Zeichen „ubernete“ werden einfach durch eine 8 ersetzt.

Runtime

Kubernetes arbeitet mit einer Runtime (Containerlaufzeit) bzw. Runtime Environment (Laufzeitumgebung) wie Docker oder containerd. Die Runtime ist die Software, die für das Ausführen der Container zuständig ist. Sie stellt sicher, dass die Anwendungen auf verschiedenen Betriebssystemen laufen und Software-Module wiederverwendet werden können.

Mehr zu Docker und Containern könnt Ihr hier nachlesen: https://www.wk-it.com/blog/docker-container.

Kubernetes Cluster

Wenn von Kubernetes gesprochen wird, dann ist meist das Kubernetes Cluster gemeint. Kubernetes Cluster sind aus mindestens einer Master Node und einer Worker Node zusammengesetzt. Die Master Node ist das Gehirn der ganzen Systems. Sie ist dafür zuständig, das Cluster und seine weiteren Komponenten selbstständig zu verwalten und zu kontrollieren. Die Worker Nodes werden von den Master Nodes verwaltet. Die Aufgabe der Worker Nodes ist es die eigentlichen Anwendungen, auch Workloads genannt, zu verwalten. Ein Pod stellt die kleinste verwaltbare Einheit im Kubernetes Cluster dar und kann einen oder mehrere Container beinhalten.

Zugriff auf die Anwendung(en) erhalten die externen User wie Kunden beispielsweise über Service- und Ingress-Objekte. Diese sind dafür zuständig, dass die Kundenanfrage an die richtige Applikation im Kubernetes Cluster weitergeleitet wird. Für den Aufbau dieses Konstrukts sind die Entwickler selbst zuständig.

Vorteile

Aus der Verwendung von Kubernetes ergeben sich zahlreiche Vorteile. Einige davon sind:

  • Die Anwendung kann je nach Auslastung automatisch skalieren, was wiederum eine effizientere Ressourcennutzung zur Folge hat.
  • Die Verfügbarkeit der Anwendung wird besonders stabil.
  • Die Entwickler haben durch die Automatisierung und das Monitoring mehr Zeit für das Wesentliche: das Entwickeln von Anwendungen.
  • Kubernetes verfügt über gewisse Selbstheilungsmechanismen sollten bei einer Anwendung Fehler auftreten. So kann beispielsweise ein Pod selbstständig neu gestartet werden.

 

Zurück