Was ist Kubernetes?
Kubernetes, oft als „K8s“ abgekürzt, orchestriert die Ausführung containerbasierter Anwendungen in einem Hostcluster. Das K8s-System automatisiert die Bereitstellung und das Management cloudnativer Anwendungen über eine On-Premises-Infrastruktur oder Public-Cloud-Plattformen. Die Lösung verteilt Anwendungs-Workloads über einen Kubernetes-Cluster und automatisiert dynamische Container-Networking-Anforderungen. Kubernetes weist ausgeführten Containern auch Storage und Persistent Volumes zu, bietet automatische Skalierung und arbeitet kontinuierlich daran, den gewünschten Zustand von Anwendungen aufrechtzuerhalten und dadurch Resilienz sicherzustellen.
Erfahren Sie, wie Unternehmen moderne Anwendungen mithilfe von Kubernetes bedarfsgerecht entwickeln, bereitstellen und ausführen.

Kubernetes in 5 Minuten

Statusbericht zu Kubernetes 2021
Funktionen von Kubernetes
Kubernetes verfügt über zahlreiche Funktionen, mit denen Sie Container hostübergreifend orchestrieren, das Management von K8s-Clustern automatisieren und die Ressourcennutzung durch eine bessere Infrastrukturauslastung maximieren können. Die wichtigsten Funktionen:
- Automatische Skalierung: Automatisches Skalieren containerbasierter Anwendungen und deren Ressourcen entsprechend der Nutzung
- Lebenszyklusmanagement: Automatisieren von Bereitstellungen und Aktualisierungen mit folgenden Vorteilen:
- Rollback auf frühere Versionen
- Anhalten und Fortsetzen einer Bereitstellung
- Deklaratives Modell: Deklarieren des gewünschten Zustands, woraufhin K8s im Hintergrund sicherstellt, dass dieser Zustand aufrechterhalten und nach Ausfällen wiederhergestellt wird
- Resilienz und Selbstreparatur: Selbstreparatur von Anwendungen durch automatische Platzierung, automatischen Neustart, automatische Replikation und automatische Skalierung
- Persistenter Storage: Dynamisches Mounten und Hinzufügen von Storage
- Lastausgleich: Kubernetes unterstützt eine Vielzahl von internen und externen Lastausgleichsoptionen, um unterschiedlichen Anforderungen gerecht zu werden.
- DevSecOps-Unterstützung: DevSecOps ist ein erweiterter Sicherheitsansatz, der den Container-Betrieb in Clouds vereinfacht und automatisiert, Sicherheitsfunktionen in den gesamten Container-Lebenszyklus integriert und Teams dabei unterstützt, sichere, hochwertige Software schneller bereitzustellen. Die Kombination von DevSecOps-Praktiken und Kubernetes verbessert die Entwicklerproduktivität.
Architektur und Funktionsweise von Kubernetes
Container kapseln eine Anwendung so ein, dass sie portierbar und einfach bereitzustellen ist. Die Kubernetes-Architektur ist auf die Ausführung von Container-Anwendungen ausgelegt. Ein Kubernetes-Cluster besteht aus mindestens einer Steuerungsebene und mindestens einem Worker-Knoten (in der Regel ein physischer oder virtueller Server). Die Steuerungsebene hat zwei Hauptaufgaben. Sie stellt die Kubernetes-API über den API-Server bereit und verwaltet die Knoten, aus denen der Cluster besteht. Die Steuerungsebene trifft Entscheidungen über das Clustermanagement, erkennt Clusterereignisse und reagiert darauf.
Die kleinste Ausführungseinheit für eine in Kubernetes ausgeführte Anwendung ist der Kubernetes Pod, der aus einem oder mehreren Containern besteht. Kubernetes Pods werden auf Worker-Knoten ausgeführt.
Weitere Kubernetes-Terminologie
Es ist wichtig, die Namen und Funktionen der zentralen K8s-Komponenten zu kennen, die Teil der Steuerungsebene sind oder auf Kubernetes-Knoten ausgeführt werden.
Die Steuerungsebene verfügt über vier primäre Komponenten, um die Kommunikation zu steuern, Knoten zu verwalten und den Status eines Kubernetes-Clusters zu verfolgen.
- Kube-apiserver: Stellt, wie der Name sagt, die Kubernetes-API bereit
- etcd: Schlüssel-Wert-Speicher, in dem alle Daten in Bezug auf den Kubernetes-Cluster gespeichert werden
- Kube-scheduler: Sucht nach neuen Kubernetes Pods ohne zugewiesene Knoten und weist sie auf Basis von Ressourcen, Richtlinien und Affinitätsspezifikationen einem Knoten zur Ausführung zu
- Kube-controller-manager: Alle Controller-Funktionen der Steuerungsebene sind in einer einzigen Binärdatei kompiliert: kube-controller-manager.
Ein K8s-Knoten besteht aus drei Hauptkomponenten:
- Kubelet: Dieser Agent stellt sicher, dass die erforderlichen Container in einem Kubernetes Pod ausgeführt werden.
- Kube-proxy: Dieser Netzwerk-Proxy wird auf jedem Knoten in einem Cluster ausgeführt, um Netzwerkregeln beizubehalten und Kommunikation zu gestatten.
- Container-Laufzeit: Für die Ausführung von Containern verantwortliche Software. Kubernetes unterstützt jede Laufzeit, die der Kubernetes-CRI (Container Runtime Interface) entspricht.
Weitere Begriffe, die Sie kennen sollten:
- Kubernetes-Service: Ein Kubernetes-Service ist eine logische Abstrahierung für eine Gruppe von Kubernetes Pods, die alle dieselbe Funktion ausführen. Kubernetes-Services werden eindeutige Adressen zugewiesen, die sich auch dann nicht ändern, wenn Pod-Instanzen hinzukommen oder wieder verschwinden.
- Controller: Controller stellen sicher, dass der tatsächliche Ausführungszustand des Kubernetes-Clusters so weit wie möglich dem gewünschten Zustand entspricht.
- Operator: Mit Kubernetes-Operators können Sie domänenspezifisches Wissen für eine Anwendung ähnlich einem Runbook kapseln. Durch Automatisierung anwendungsspezifischer Aufgaben können Sie Anwendungen mithilfe von Operators auf K8s einfacher bereitstellen und verwalten.
Vorteile von Kubernetes
Die Kubernetes-Plattform erfreut sich großer Beliebtheit, da sie eine Reihe wichtiger Vorteile bietet:
- Portabilität: Container sind in zahlreichen Umgebungen portierbar – von virtuellen Umgebungen bis zu Bare-Metal. Kubernetes wird in allen gängigen Public Clouds unterstützt, sodass Sie containerbasierte Anwendungen auf K8s in vielen verschiedenen Umgebungen ausführen können.
- Integration und Erweiterbarkeit: Kubernetes ist auf Lösungen erweiterbar, denen Sie bereits vertrauen, darunter Protokollierungs-, Überwachungs- und Benachrichtigungsservices. Die Kubernetes-Community arbeitet an einer Vielzahl von Open-Source-Lösungen zur Ergänzung von Kubernetes. Dadurch entsteht ein umfangreiches und schnell wachsendes Ökosystem.
- Kosteneffizienz: Dank der inhärenten Ressourcenoptimierung von Kubernetes, der automatisierten Skalierung und der Flexibilität, Workloads dort auszuführen, wo sie den größten Nutzen bieten, haben Sie die Kontrolle über Ihre IT-Ausgaben.
- Skalierbarkeit: Cloudnative Anwendungen werden horizontal skaliert. Kubernetes arbeitet mit automatischer Skalierung. Dabei werden je nach Bedarf zusätzliche Container-Instanzen gestartet und automatisch skaliert.
- API-basiert: Kubernetes liegt eine REST-API zugrunde. Alle Komponenten der Kubernetes-Umgebung können durch Programmierung gesteuert werden.
- Vereinfachte CI/CD: CI/CD ist ein DevOps-Verfahren, das das Erstellen, Testen und Bereitstellen von Anwendungen in Produktionsumgebungen automatisiert. Unternehmen integrieren Kubernetes und CI/CD, um skalierbare CI/CD-Pipelines zu erstellen, die sich dynamisch an die Last anpassen.
Was ist Container-Orchestrierung?
Mit Container-Orchestrierung werden die meisten Aufgaben automatisiert, die für die Ausführung containerbasierter Workloads und Services erforderlich sind, einschließlich der Abläufe, die für den Kubernetes-Container-Lebenszyklus unverzichtbar sind: Provisioning, Bereitstellung, Skalierung, Networking und Lastausgleich.
Kubernetes und Docker im Vergleich
Docker ist eine Softwareplattform zum Erstellen von Container-Anwendungen. K8s automatisiert den Prozess zum Ausführen containerbasierter, cloudnativer Anwendungen, die mit Docker oder anderen Tools erstellt wurden. Unternehmen setzen Docker und Kubernetes häufig kombiniert ein.
Zugehörige Lösungen und Produkte
Tanzu Kubernetes Grid
Enterprisefähiges Kubernetes-Management
Tanzu Community Edition
Richten Sie VMware Tanzu in wenigen Minuten kostenlos auf Ihrer lokalen Workstation oder in Ihrer Cloud ein.
Tanzu Application Platform
Entwickeln, Bereitstellen und Verwalten von Anwendungen auf einer Kubernetes-Plattform