Anmelden / Registrieren Konto

Container

Was ist ein Kubernetes-Cluster?

Ein Kubernetes-Cluster besteht aus einer Reihe von Knotenmaschinen zum Ausführen von containerisierten Anwendungen. Wenn Sie Kubernetes verwenden, führen Sie einen Cluster aus.

Ein Cluster enthält mindestens einen Worker-Knoten und einen Master-Knoten. Der Master-Knoten ist für den gewünschten Status des Clusters verantwortlich und stellt z. B. fest, welche Anwendungen ausgeführt werden und welche Container-Images sie verwenden. Worker-Knoten 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, sondern werden über den gesamten Cluster abstrahiert.

Wie arbeiten Sie mit einem Kubernetes-Cluster?

Ein Kubernetes-Cluster hat einen gewünschten Status, 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 Status 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 Status 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 Status festzulegen oder zu ändern.

Kubernetes verwaltet Ihren Cluster automatisch so, dass er dem gewünschten Status entspricht. Angenommen, Sie stellen eine Anwendung mit dem gewünschten Status „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 Status zu erfüllen.

Sie können auch Kubernetes Patterns verwenden, um die Größe Ihres Clusters basierend auf der Last automatisch zu verwalten.

In welcher Beziehung steht ein Cluster zu einem Knoten, einem Pod und anderen Kubernetes-Begriffen?

Wir haben einen Cluster als eine Reihe von Knoten definiert. Schauen wir uns einige andere Kubernetes-Begriffe an, die hilfreich sind, um die Funktionsweise eines Clusters zu verstehen.

Master: Die Maschine, die die Kubernetes-Knoten kontrolliert. Hier werden alle Task-Zuordnungen ausgegeben.

Worker-Knoten: Diese Maschinen führen die angeforderten und zugewiesenen Aufgaben aus. Diese werden vom Kubernetes-Master kontrolliert.

Pod: Eine Gruppe aus einem oder mehreren Containern, die in einem einzelnen Knoten 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.

Warum Red Hat OpenShift für Kubernetes?

Red Hat ist ein führender und aktiver Entwickler von Container-Technologien im Open Source-Bereich (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.

Red Hat OpenShift kennenlernen