Kubernetes verstehen: Was es ist, wie es funktioniert und warum es für Ihre IT relevant ist

0:00 0:00

Wer ist eigentlich dieser Kubernetes? Und warum sollte mich das interessieren?

Kubernetes wurde entwickelt für die automatisierte Bereitstellung, Verwaltung und Skalierung containerisierter Anwendungen. Seit 2016 ist Kubernetes Teil der Cloud Native Computing Foundation, die es Unternehmen ermöglicht, mit minimalem Aufwand Anwendungen in modernen, dynamischen Umgebungen wie öffentlichen, privaten und hybriden Clouds zu erstellen und auszuführen.

Als zentraler Bestandteil des Katalogs der Cloud Native Computing Foundation stellt Kubernetes moderne, anwendungsorientierte Infrastruktur bereit. Konzipiert mit Fokus auf Skalierbarkeit und Verwaltung von Containeranwendungen, hat sich Kubernetes als Standard für Container-Orchestrierung etabliert.

Der große Vorteil: die Resilienz und Effizienz der in Kubernetes bereitgestellten Anwendungen. Durch den geradlinigen Veröffentlichungs- und Update-Prozess werden Betrieb und Wartung deutlich vereinfacht. Lösungen zur Überwachung ermöglichen eine schnelle oder sogar automatisierte Reaktion auf Probleme und auftretende Fehler sowie die Optimierung der Ressourcennutzung.

Dieser Artikel hilft Ihnen zu verstehen, warum Kubernetes weit mehr als ein kurzfristiger Technologietrend ist und warum es einen echten Wandel im Betrieb und der Entwicklung moderner Anwendungen bedeutet. Sie erfahren, wie Sie mit unserer Unterstützung Kubernetes als Teil Ihrer leistungsfähigen Unternehmensinfrastruktur einsetzen.

Der Kubernetes-Cluster

Ein Kubernetes-Cluster ist der Zusammenschluss mehrerer virtueller oder physischer Maschinen, sogenannter Nodes, zu einem vernetzten System. Dabei wird zwischen Worker Nodes, auf denen Workloads und Anwendungen laufen, und den für die Verwaltung zuständigen Control Plane Nodes unterschieden.

Ein Kubernetes-Cluster besteht aus verschiedenen Komponenten:

  • Der API-Server übernimmt die Kommunikation zwischen den Komponenten. Darüber lässt sich der Cluster steuern – entweder mit Befehlszeilentools wie kubectl, kubeadm und Helm oder über Anwendungen zur Clusterverwaltung wie SUSE Rancher.
  • Die etcd ist eine hochverfügbare Datenbank, in der der Soll-Zustand des Clusters gespeichert wird.
  • Der Scheduler verteilt neu erstellte Pods automatisch auf die verfügbaren Nodes – gemäß den Anforderungen und verfügbaren Ressourcen.
  • Der Controller Manager überwacht den Cluster und sorgt dafür, dass der Soll-Zustand eingehalten wird.
  • Kubelet stellt sicher, dass die Pods korrekt ausgeführt werden.
  • Der Kube Proxy ist verantwortlich für das Netzwerk und die Kommunikation innerhalb des Clusters.

Wie funktioniert das Ganze?

Die Funktionsweise von Kubernetes lässt sich im Wesentlichen herunterbrechen auf die logische Gruppierung containerisierter Anwendungen. Im Hintergrund übernimmt Kubernetes alles Weitere, was zur Ausführung einer Anwendung bzw. eines Containers benötigt wird: Netzwerk, Speicher- und Ressourcenverteilung.

Container

Container kombinieren eine abgekapselte Laufzeitumgebung mit einer ausführbaren Version der Anwendung und ermöglichen so die leichtgewichtige, reproduzierbare Bereitstellung.

Pods

Pods sind die kleinsten Einheiten, in denen Container in Kubernetes organisiert sind. Mehrere Container werden zu einem Pod als Teil eines Deployments zusammengefasst.

Deployments & Apps

Die verschiedenen Komponenten einer Anwendung – Webserver, Datenbank, API – werden in einem oder meist mehreren Deployments organisiert und mithilfe von Werkzeugen wie Helm orchestriert.

Dabei bildet Kubernetes komplexe Abhängigkeiten und Infrastrukturanforderungen moderner Anwendungen ab. Themen wie Netzwerk, Speicher, Ressourcenmanagement oder Services wie Load Balancing und Veröffentlichung lassen sich über einfache Konfigurationsobjekte bereitstellen.

Skalierung

Nahezu alle Prozesse in Kubernetes sind automatisierbar – von den Deployments selbst bis hin zu den einzelnen Komponenten. Anwendungen skalieren automatisch. Vertikal durch Hinzufügen von Ressourcen, horizontal durch den Start weiterer Container. So bleibt die Verfügbarkeit auch zu Zeiten intensiver Nutzung gesichert.

Genauso erkennt Kubernetes, wenn Anwendungen gerade nicht benötigt werden, und skaliert sie automatisiert herunter. In Cloud-Umgebungen wie Azure spart das bares Geld. Im lokalen Kontext werden Strom und Compute-Ressourcen frei – für andere Anwendungen oder schlicht für eine effizientere Auslastung.

Rolling Updates

Bei einem Update werden die alten Container einer Anwendung erst heruntergefahren, sobald die neuen Container mit der aktuellen Version verfügbar sind. Updates ganz ohne Downtime.
Dasselbe Prinzip greift beim Update der Nodes eines Kubernetes-Clusters: Die Nodes werden nacheinander aktualisiert, sodass mindestens ein Node jederzeit verfügbar bleibt.

Self-Healing

Deployments, Pods oder Container werden bei Fehlern automatisiert neu gestartet. Speicher und Netzwerk lassen sich anhand vorhandener Definitionen wieder aufbauen und anbinden. Sogar ganze Nodes können bei einem Ausfall automatisiert neu erstellt werden. Die Integrität Ihrer Systeme bleibt so jederzeit gewahrt.

Warum Kubernetes?

Kubernetes löst die typischen Probleme beim Betrieb moderner Software. Anwendungen auf einem Kubernetes-Cluster sind hochverfügbar. Bei Ausfällen stellt der Selbstheilungsprozess die Integrität Ihrer Anwendungen sicher. Automatisierte Deployments machen es einfach, neue Versionen einzuspielen. Ressourcenverwaltung und Networking werden vereinfacht.

Ob tageszeitabhängige Lastspitzen oder eventbedingt erhöhte Nachfrage – mit den Skalierungsmöglichkeiten eines Kubernetes-Clusters sind Sie auf der sicheren Seite. Und wenn Ihr Unternehmen wächst, wächst Ihr Cluster mit.

Weitere Themen & unsere Unterstützung

Kubernetes ist nicht gleich Kubernetes.

Die Möglichkeiten sind breit gefächert, und bei einem so umfangreichen System fällt es oft schwer, den richtigen Einstieg und den passenden Ansatz für das eigene Unternehmen zu finden.
Die connecT SYSTEMHAUS AG unterstützt Sie dabei, den Überblick zu behalten und den passenden Weg zu Ihrem ersten Kubernetes-Cluster zu gestalten. Von der ersten Orientierung über Architekturfragen bis zur konkreten Umsetzung stehen wir Ihnen mit praxisnaher Erfahrung und dem gewohnten Engagement zur Seite.

Mit diesem Beitrag ist lange nicht alles gesagt – auf viele weitere Aspekte lohnt sich ein genauerer Blick:

  • Automatisierte App-Deployments mit Helm
  • Clustermanagement: SUSE Rancher
  • Automatisierung von Node- & Cluster-Deployments
  • SUSE Observability & Security
  • Storage
  • Backup
Inhaltsverzeichnis