Überblick
Ein Kubernetes-Cluster besteht aus einer Reihe von Knotenmaschinen, auf denen containerisierte Anwendungen ausgeführt werden. Wenn Sie Kubernetes verwenden, führen Sie einen Cluster aus.
Ein Cluster enthält mindestens eine Control Plane und eine Rechenmaschine oder einen Knoten (Node). Die Control Plane ist für den gewünschten Zustand des Clusters verantwortlich und stellt z. B. fest, welche Anwendungen ausgeführt werden und welche Container-Images sie verwenden. Nodes sind für die Ausführung von Anwendungen und Workloads zuständig.
Der Cluster bildet den Hauptvorteil von Kubernetes: Die Möglichkeit, Container auf verschiedenen Maschinen zu planen und auszuführen, ob physisch oder virtuell, lokal oder in der Cloud. Kubernetes-Container sind nicht an einzelne Maschinen gebunden. Sie werden vielmehr im gesamten Cluster abstrahiert.
Wie arbeiten Sie mit einem Kubernetes-Cluster?
Ein Kubernetes-Cluster hat einen gewünschten Zustand, der definiert, welche Anwendungen oder anderen Workloads ausgeführt werden sollen, welche Images sie verwenden, welche Ressourcen für sie verfügbar gemacht werden sollen, und weitere Konfigurationsdetails.
Ein gewünschter Zustand wird durch Konfigurationsdateien definiert, die aus Manifesten bestehen. Hierbei handelt es sich um JSON- oder YAML-Dateien, die den Typ der auszuführenden Anwendung und die Anzahl der Replikate angeben, die zum Ausführen eines fehlerfreien Systems erforderlich sind.
Der gewünschte Zustand des Clusters wird mit der Kubernetes-API definiert. Dies kann über die Befehlszeile (mit kubectl) oder über die API erfolgen, um mit dem Cluster zu interagieren und den gewünschten Zustand festzulegen oder zu ändern.
Kubernetes verwaltet Ihren Cluster automatisch so, dass er dem gewünschten Zustand entspricht. Angenommen, Sie stellen eine Anwendung mit dem gewünschten Zustand „3“ bereit, wobei die 3 bedeutet, dass drei Replikate der Anwendung ausgeführt werden sollen. Wenn einer dieser Container abstürzt, sieht Kubernetes, dass nur zwei Replikate ausgeführt werden, sodass ein weiteres hinzugefügt wird, um den gewünschten Zustand zu erfüllen.
Sie können auch Kubernetes-Patterns verwenden, um die Größe Ihres Clusters basierend auf der Last automatisch zu verwalten.
Entdecken Sie Red Hat OpenShift.
In welcher Beziehung steht ein Cluster zu einem Node, einem Pod und anderen Kubernetes-Begriffen?
Wir haben einen Cluster als eine Reihe von Nodes definiert. Schauen wir uns einige andere Kubernetes-Begriffe an, die hilfreich sind, um die Funktionsweise eines Clusters zu verstehen.
Control Plane: Die Gesamtheit der Prozesse, mit denen die Kubernetes-Nodes gesteuert werden. Hier werden alle Aufgaben zugewiesen.
Nodes: Diese Maschinen führen die angeforderten, von der Control Plane zugewiesenen Aufgaben aus.
Pod: Eine Gruppe aus einem oder mehreren Containern, die in einem einzelnen Node implementiert wurde. Ein Pod ist das kleinste und einfachste Kubernetes-Objekt.
Service: Eine Möglichkeit, eine Anwendung, die auf einer Reihe von Pods ausgeführt wird, als Netzwerkdienst verfügbar zu machen. Damit werden Arbeitsdefinitionen von den Pods entkoppelt.
Volume: Ein Verzeichnis mit Daten, auf das die Container in einem Pod zugreifen können. Ein Kubernetes-Volume hat dieselbe Lebensdauer wie der Pod, in dem es sich befindet. Ein Volume überdauert alle Container, die im Pod ausgeführt werden, und die Daten bleiben erhalten, wenn ein Container neu gestartet wird.
Namespace: Ein virtueller Cluster. Mit Namespaces kann Kubernetes mehrere Cluster (für mehrere Teams oder Projekte) innerhalb eines physischen Clusters verwalten.
Was ist Kubernetes-Cluster-Management?
Angesichts der vielen modernen cloudnativen Anwendungen sind Kubernetes-Umgebungen inzwischen stark verteilt. So können sie über mehrere Rechenzentren vor Ort, in der Public Cloud oder am Netzwerkrand bereitgestellt werden.
Organisationen, die Kubernetes in großem Umfang oder für die Produktion verwenden möchten, brauchen mehrere Cluster, unter anderem für Entwicklung, Tests und Produktion, die auf zahlreiche Umgebungen verteilt sind und die sie effizient verwalten müssen.
Hierbei geht es darum, wie ein IT-Team eine Gruppe von Kubernetes-Clustern verwaltet.
Warum Red Hat OpenShift für Kubernetes?
Red Hat ist ein führender und aktiver Entwickler von Open-Source-Container-Technologien (darunter auch Kubernetes) und entwickelt wichtige Tools zum Sichern, Vereinfachen und automatischen Aktualisieren Ihrer Container-Infrastruktur.
Red Hat® OpenShift® ist eine Kubernetes-Distribution für Unternehmen. Mit Red Hat OpenShift steht den Teams eine integrierte Einzelplattform für DevOps zur Verfügung. Mit Red Hat OpenShift können Entwickler zwischen verschiedenen Sprachen, Frameworks, Middleware und Datenbanken wählen und automatisierte Prozesse mit CI/CD entwickeln und bereitstellen, um die Produktivität weiter zu steigern.
Basierend auf den Grundlagen von OpenShift können Sie Red Hat Advanced Cluster Management und Red Hat Ansible® Automation Platform zusammen verwenden, um mehrere Kubernetes-Cluster in verschiedenen Regionen und Umgebungen, einschließlich Public Cloud, On-Premises und am Edge, effizient bereitzustellen und zu verwalten.