Zum Inhalt springen

Glossar · W

Worker-Knoten

Knoten in einem Kubernetes-Cluster, die die eigentlichen Anwendungen ausführen und die vom Master-Knoten verwaltet werden.

Definition

Ein Worker-Knoten ist ein Bestandteil eines Kubernetes-Clusters, der für die Ausführung von Anwendungs-Containern zuständig ist. Er stellt die Rechenressourcen wie CPU, Arbeitsspeicher und Netzwerk bereit, auf denen die Container laufen. Die Worker-Knoten führen die von der Steuerungsebene (Master-Knoten) geplanten Aufgaben aus und sind somit das Rückgrat der Container-Orchestrierung.

Im Gegensatz zum Master-Knoten, der die Verwaltung und Steuerung des Clusters übernimmt, konzentrieren sich Worker-Knoten auf die tatsächliche Bereitstellung und Ausführung der Anwendungen. Sie sind über das Netzwerk mit dem Master-Knoten verbunden und kommunizieren kontinuierlich, um den aktuellen Status der ausgeführten Container zu melden.

Hintergrund und Architektur

Kubernetes wurde 2014 von Google veröffentlicht und ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Die Architektur teilt sich in Master- und Worker-Knoten auf, wobei der Worker-Knoten die Arbeitslast trägt. Jeder Worker-Knoten enthält Komponenten wie den Kubelet-Agenten, der die Kommunikation mit dem Master-Knoten übernimmt, sowie einen Container-Runtime-Dienst, der die Container startet und verwaltet.

Zusätzlich betreibt ein Worker-Knoten den sogenannten Kube-Proxy, der für die Netzwerkkommunikation innerhalb des Clusters sorgt. Die Container laufen in sogenannten Pods, die auf den Worker-Knoten platziert werden. Die Ressourcenverwaltung und die Überwachung der Container erfolgen lokal auf dem Worker-Knoten, während der Master-Knoten die Planung und Koordination übernimmt.

Funktionsweise

Die Steuerungsebene des Kubernetes-Clusters weist den Worker-Knoten Aufgaben zu, indem sie Pods definiert, die Container enthalten. Der Kubelet-Dienst auf dem Worker-Knoten nimmt diese Anweisungen entgegen und sorgt für die Erstellung, Überwachung und den Neustart der Container bei Bedarf. Dabei werden Container-Runtime-Technologien wie Docker oder containerd verwendet.

Der Kube-Proxy auf dem Worker-Knoten verwaltet die Netzwerkregeln, die den Datenverkehr zu den einzelnen Pods leiten. Dies ermöglicht die Kommunikation zwischen den Containern und externen Diensten. Die Worker-Knoten melden regelmäßig ihren Status an den Master-Knoten, wodurch eine zentrale Überwachung und Steuerung möglich ist.

Einsatzgebiete

Worker-Knoten werden in Kubernetes-Clustern eingesetzt, um skalierbare und hochverfügbare Anwendungen zu betreiben. Sie finden Anwendung in Cloud-Umgebungen, Rechenzentren und hybriden Infrastrukturen, in denen Containerisierung genutzt wird. Typische Einsatzbereiche sind Microservices-Architekturen, Continuous-Integration/Continuous-Delivery-Pipelines (CI/CD) und Big-Data-Verarbeitung.

Die Anzahl der Worker-Knoten in einem Cluster kann je nach Leistungsanforderungen und Verfügbarkeitszielen variieren. Durch horizontale Skalierung können zusätzliche Worker-Knoten hinzugefügt werden, um mehr Container auszuführen und die Last zu verteilen. Dies ermöglicht eine flexible Anpassung an wechselnde Anforderungen.

Abgrenzung zu verwandten Begriffen

Der Worker-Knoten unterscheidet sich vom Master-Knoten, der für die Steuerung und Verwaltung des Clusters verantwortlich ist. Während der Master-Knoten Komponenten wie den API-Server, den Scheduler und den Controller-Manager enthält, sind auf dem Worker-Knoten hauptsächlich der Kubelet-Agent, der Kube-Proxy und die Container-Runtime aktiv.

Im Kontext anderer Container-Orchestrierungssysteme wie Docker Swarm oder Apache Mesos entspricht der Worker-Knoten der Rolle eines Arbeiters, der die Container ausführt. Allerdings unterscheiden sich die Architektur und die Komponenten je nach System. Im Vergleich zu virtuellen Maschinen sind Worker-Knoten physische oder virtuelle Server, die Container hosten, ohne selbst virtualisierte Betriebssysteme bereitzustellen.