Mit der zunehmenden Verwendung von Containern in Organisationen ist Kubernetes, die für Container optimierte Verwaltungssoftware, zum De-facto-Standard für die Bereitstellung und den Betrieb von Containeranwendungen geworden. Kubernetes, das in Google Cloud ausgeführt wird, wurde ursprünglich von Google entwickelt und 2014 als Open-Source-System veröffentlicht. Es beruht auf 15 Jahren Erfahrung beim Ausführen containerisierter Arbeitslasten sowie wertvollen Beiträgen aus der Open-Source-Community. Kubernetes ist von Googles internem Clusterverwaltungssystem Borg inspiriert und vereinfacht die Umsetzung bei der Bereitstellung und Verwaltung von Anwendungen. Mit der automatisierten Containerorchestrierung verbessert Kubernetes die Zuverlässigkeit und reduziert den Zeit- und Ressourcenaufwand für wiederkehrende Vorgänge.
Kubernetes (auch als K8s abgekürzt; wobei 8 für die Anzahl der Buchstaben zwischen „K“ und „s“ steht) ist ein Open-Source-System zur Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen.
Kubernetes automatisiert operative Aufgaben bei der Containerverwaltung und umfasst integrierte Befehle, die die Anwendungsverwaltung erleichtern, zum Beispiel für die Bereitstellung, die Einführung von Änderungen, die bedarfsgesteuerte Skalierung und das Monitoring.
Wenn Anwendungen auf mehrere Container und Server skaliert werden, vereinfacht Kubernetes die Verwaltung. Es orchestriert Bereitstellungen über eine Open-Source-API und gruppiert Container in Pods, um sie je nach Bedarf und Ressourcenverfügbarkeit zu skalieren. Kubernetes automatisiert auch Service Discovery, Load Balancing und Ressourcenzuweisung und überwacht den Systemzustand, um eine Selbstheilung durch Neustart oder Replikation von Containern zu ermöglichen.
Entwickler finden hier eine Schritt-für-Schritt-Anleitung zur Funktionsweise von Kubernetes:
Automatisierte Vorgänge
Kubernetes bietet integrierte Befehle für einen Großteil der Aufgaben zur Anwendungsverwaltung. So können Sie sich auf die Automatisierung alltäglicher Vorgänge konzentrieren und dafür sorgen, dass Ihre Anwendungen nach Wunsch laufen.
Abstraktion der Infrastruktur
Mit der Installation von Kubernetes wird die Abwicklung der Computing-, Netzwerk- und Speichervorgänge für Ihre Arbeitslasten übernommen. Entwickler können sich so auf die Anwendungen konzentrieren und brauchen sich keine Gedanken über die zugrunde liegende Umgebung machen.
Monitoring des Dienststatus
Kubernetes führt kontinuierlich Systemdiagnosen Ihrer Dienste durch, startet ausgefallene oder angehaltene Container neu und stellt Dienste nur bei bestätigter Ausführung bereit.
Optimierte Ressourcennutzung
Kubernetes optimiert die Ressourcennutzung, indem Container basierend auf ihren Anforderungen effizient auf Knoten gepackt werden. Das wiederum trägt dazu bei, Ressourcenverschwendung zu reduzieren und die Infrastrukturkosten zu senken.
Vereinfachte Anwendungsverwaltung
Kubernetes vereinfacht die Anwendungsverwaltung. Kubernetes bietet einen einheitlichen Ansatz für die Bereitstellung, Aktualisierung und Verwaltung von Anwendungen unterschiedlicher Komplexität.
Verbesserte Portierbarkeit
Kubernetes ist eine Open-Source-Plattform, die in verschiedenen Umgebungen konsistent ausgeführt werden kann – von lokalen Rechenzentren bis hin zu öffentlichen Clouds. Unternehmen können so von Flexibilität und Übertragbarkeit profitieren.
Kubernetes und Docker werden oft fälschlich als Alternativen angesehen. In Wirklichkeit sind es zwei sich ergänzende Technologien für die Ausführung von Containeranwendungen.
Mit Docker können Sie alles, was Sie zur Ausführung einer Anwendung benötigen, in eine Box packen, die gespeichert und bei Bedarf geöffnet werden kann. Nachdem Ihre Anwendungen in Boxen gepackt sind, benötigen Sie eine Methode, um sie zu verwalten – hier kommt Kubernetes ins Spiel.
Kubernetes ist ein griechisches Wort und bedeutet „Steuermann“. So wie der Steuermann für die sichere Fahrt eines Schiffs auf dem Meer verantwortlich ist, sorgt Kubernetes für Sicherheit bei Transport und Auslieferung der Boxen an die vorgesehenen Ziele.
Kubernetes wird zum Erstellen von Anwendungen verwendet, die überall einfach verwaltet und bereitgestellt werden können. Wenn Kubernetes als verwalteter Dienst verfügbar ist, stehen Ihnen verschiedene Lösungen zur Verfügung, um Ihre Anforderungen zu erfüllen. Im Folgenden sind einige gängige Anwendungsfälle aufgeführt.
Kubernetes unterstützt Sie beim Entwickeln cloudnativer, auf Mikrodiensten basierender Anwendungen. Außerdem unterstützt das System die Containerisierung vorhandener Anwendungen. Damit wird Kubernetes zur Grundlage für die Modernisierung von Anwendungen und ermöglicht eine schnellere Entwicklung.
Kubernetes ist darauf ausgelegt, überall eingesetzt zu werden. Deshalb können Sie Ihre Anwendungen dort ausführen, wo Sie sie benötigen – von lokalen Bereitstellungen über öffentliche Clouds bis hin zu hybriden Bereitstellungen.
Kubernetes kann automatisch die Größe von Clustern anpassen, die zur Ausführung von Diensten benötigt werden. So können Sie Anwendungen nach Bedarf automatisch skalieren und effizient ausführen.
Antworten auf häufig gestellte Fragen zu Kubernetes
Kubernetes-Cluster bestehen aus Knoten (virtuellen oder physischen Maschinen), auf denen containerisierte, von Kubernetes orchestrierte Anwendungen ausgeführt werden.
Ein Kubernetes-Pod, die kleinste bereitstellbare Einheit, enthält einen oder mehrere Container, die eine einzelne laufende Prozessinstanz darstellen.
Ein Kubernetes-Deployment sorgt für den gewünschten Anwendungszustand, indem es für Replikate und reibungslose Updates sorgt.
Ein Kubernetes-Dienst ist ein Kubernetes-Objekt, das eine stabile IP-Adresse und einen DNS-Namen für Ihre Anwendung bereitstellt, sodass andere Anwendungen auf diese zugreifen können.
Sie können Ihre Anwendung skalieren, indem Sie die Anzahl der Replikate in Ihrer Deployment-Konfiguration aktualisieren. Kubernetes erstellt oder entfernt automatisch Pods, um die gewünschte Skalierung zu erreichen.
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“ Produkte kennenzulernen.