Mobile-Menu

Definition Was ist Kubernetes (K8s)?

Von Dipl.-Ing. (FH) Stefan Luber 4 min Lesedauer

Kubernetes ist eine Open-Source-Plattform und -Software zur Container-Orchestrierung. Mit ihr lassen sich komplexe Container-basierte Umgebungen verwalten. Container können automatisiert eingerichtet, bereitgestellt, betrieben, skaliert und gewartet werden. Im Bereich der Container-Orchestrierung hat sich Kubernetes als eine Art De-facto-Standard etabliert. Die Software steht unter Apache-Lizenz 2.0 und wird von der Cloud Native Computing Foundation gepflegt und weiterentwickelt.

Die wichtigsten IT-Fachbegriffe verständlich erklärt.(Bild:  © aga7ta - stock.adobe.com)
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com)

Kubernetes ist der Name einer Open-Source-Software und Open-Source-Plattform zur Orchestrierung von Containern. Der Begriff ist dem Altgriechischen entlehnt und bedeutet Steuermann oder Pilot. Das Logo von Kubernetes, ein Steuerrad, greift diese Symbolik ebenfalls auf. Als Kurzschreibweise für Kubernetes wird K8s verwendet.

Mithilfe der Open-Source-Software lassen sich Container und komplexe Container-Umgebungen automatisiert einrichten, bereitstellen, betreiben, skalieren und warten. Kubernetes und die Container-Orchestrierung sind eine technische Grundlage für cloudnative Anwendungen, die aus vielen einzelnen, mithilfe der Container-Technologie virtualisierten Microservices bestehen.

Entwickelt wurde die Software ursprünglich von Google. Die Version 1.0 erschien im Jahr 2015. Noch im selben Jahr spendete Google K8s an die ebenfalls 2015 gegründete Cloud Native Computing Foundation (CNCF). Die CNCF ist ein Projekt der Linux Foundation und die Linux Foundation ist bis heute für die Weiterentwicklung der Software zuständig. Im Umfeld des Cloud-native Computings betreut sie zahlreiche weitere Projekte. K8s eignet sich sowohl für den On-Premises-Betrieb als auch für Cloud-Umgebungen. Zahlreiche Betreiber von Cloud-Computing-Plattformen und Anbieter von Cloud-Computing-Diensten haben Kubernetes als gehosteten und voll gemanagten Service in ihrem Produktportfolio. K8s steht unter Apache-Lizenz 2.0. Die aktuelle Version der Software ist Kubernetes 1.29.1 (Stand Januar 2024).

Der Funktionsumfang von Kubernetes

Zur Orchestrierung von Containern und Container-Systemen bietet Kubernetes ein großes Spektrum an Funktionen. Zu diesen Funktionen zählen:

  • Automatisierung der Einrichtung und des Rollouts von Containern
  • Automatisierung der Skalierung Container-basierter Anwendungen und der genutzten Ressourcen
  • Automatisierung von Aktualisierungen und Rollbacks
  • intelligentes Netzwerkmanagement der Container-Umgebung
  • automatisierter Lastausgleich und Optimierung der Ressourcenauslastung
  • dynamische Bereitstellung von persistentem Speicher für zustandslose Container
  • Realisierung redundanter, hochverfügbarer und sich selbst reparierender Container-Umgebungen

Kubernetes und Docker

Die Begriffe Kubernetes und Docker fallen häufig gemeinsam. Lange Zeit war Kubernetes eng mit Docker, einer Software zur Container-Virtualisierung, verknüpft. Die 2013 veröffentlichte Software Docker hat wesentlich zur Popularität der Container-Virtualisierung und weltweiten Verbreitung von K8s beigetragen. Im Gegensatz zu einer virtuellen Maschine (VM) wird bei einem Container nicht ein kompletter Rechner samt Betriebssystem virtualisiert, sondern nur die Anwendung mit ihrer zur Ausführung benötigten Anwendungsumgebung sowie den entsprechenden Tools und Bibliotheken. Container sind schlanker als virtuelle Maschinen, belegen weniger Ressourcen und sind schneller zu starten.

Durch die steigende Beliebtheit von Docker und das starke Interesse am Deployment Container-basierter Anwendungen entstand schnell die Notwendigkeit für eine Software-Plattform zur Orchestrierung von Containern. In diese Lücke stieß Kubernetes. Kubernetes wurde zum De-facto-Standard bei der Verwaltung größerer Docker-basierter Container-Installationen. Mittlerweile hat Docker aber für K8s an Bedeutung verloren. Mit der im Jahr 2022 erschienenen Version 1.24 von K8s wurde die native Unterstützung von Docker sogar entfernt. K8s erfordert mittlerweile eine mit dem Container Runtime Interface (CRI) kompatible Container-Runtime. Es lassen sich beispielsweise containerd oder CRI-O verwenden. Docker ist über entsprechende Anpassungen und eine CRI-konforme Schnittstelle aber weiterhin nutzbar.

Funktionsweise und Architektur von K8s

Wichtige Begriffe und Komponenten eines mit K8s orchestrierten Container-Systems sind Container, Pod, Node und Cluster. Ein Container enthält die virtualisierte Anwendung und ihre zur Ausführung benötigte Umgebung. In diesem Container ist die Anwendung so gekapselt, dass sie einfach bereitgestellt und portiert werden kann. Ein Pod ist die kleinste Einheit der Kubernetes-Architektur und umfasst einen oder mehrere Container. Ein oder mehrere Pods laufen als Prozesse auf einem Worker-Node. Nodes können sowohl physische als auch virtuelle Rechner sein. Worker-Nodes werden zu einem Cluster zusammengefasst und von einem Kubernetes-Master (Master-Node) verwaltet. Master-Nodes nehmen Befehle entgegen und kommunizieren mit den Worker-Nodes. Sie weisen den Pods Konfigurationen zu, verteilen die Pods auf die verfügbaren Nodes, ersetzen ausgefallene Nodes durch redundante Nodes, starten, stoppen oder restarten Container und einiges mehr. Sie sind auch für die Überwachung der Betriebszustände und Ressourcenauslastung der Nodes verantwortlich.

Einsatzmöglichkeiten von K8s

K8s ist vielfältig einsetzbar und eignet sich für kleine und für große, komplexe und verteilte Container-Systeme. Die Software ist sowohl mit On-Premises-Plattformen als auch mit privaten, öffentlichen oder hybriden Cloud-Modellen und Multiclouds kompatibel. Prädestiniert ist die Container-Orchestrierungslösung für moderne, cloudnative Anwendungsumgebungen, bestehend aus vielen einzelnen über Container bereitgestellten Microservices. Microservices lassen sich dank Kubernetes mit minimalem Aufwand zwischen verschiedenen Systemen und Cloud-Umgebungen verschieben. Darüber hinaus spielt K8s eine wichtige Rolle für DevOps- und DevSecOps-Prozesse, mit denen sich Anwendungen in Produktionsumgebungen über CI/CD-Pipelines automatisiert und kontinuierlich erstellen, testen, absichern und bereitstellen lassen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Netzwerktechnik, IP-Kommunikation und UCC

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Vorteile durch die Container-Orchestrierung mit Kubernetes

Durch die Container-Orchestrierung mit Kubernetes ergeben sich unter anderem folgende Vorteile:

  • schnellere Entwicklung und Bereitstellung cloudnativer, Microservice-basierter Anwendungen und neuer Funktionen dieser Anwendungen
  • dank Plattformunabhängigkeit einfache Migration und Reproduzierbarkeit von Anwendungen
  • schnelles und problemloses Skalieren von Container-Umgebungen und Anwendungen
  • Reduzierung manueller Verwaltungsprozesse
  • Realisierung redundanter, hochverfügbarer und stabiler Container-Systeme
  • Optimierung der Ressourcenauslastung
  • Automatisierung von Updates und Rollbacks ohne Serviceunterbrechung
  • Erschließung des vollen Potenzials des Cloud-Computings
  • frei verfügbare Open-Source-Software mit großer Community
  • umfangreiches Ökosystem an Open-Source-Lösungen rund um K8s
  • mit verschiedenen Container-Engines kompatibel

(ID:49910696)