Suchen

Definition „Kubernetes-Knoten“ Was ist ein Node?

| Autor / Redakteur: zeroshope / Stephan Augsten

Kubernetes ist ein System zur Arbeit mit Container-Anwendungen. Dabei kommt dem Node eine Schlüsselaufgabe zu – es ermöglicht die Durchführung des eigentlichen Workloads. Unterschieden wird dabei zwischen Master- und Worker-Nodes.

Firma zum Thema

Auf einen Frachthafen übertragen sind die Worker Nodes für das Ausliefern der Container zuständig, die Master Nodes regeln den kompletten Betriebsablauf.
Auf einen Frachthafen übertragen sind die Worker Nodes für das Ausliefern der Container zuständig, die Master Nodes regeln den kompletten Betriebsablauf.
(Bild gemeinfrei: Klaus / Pexels )

Mit der deutschen Übersetzung „Knoten“ ist bereits treffend umschrieben, welche Aufgabe ein Node in Kubernetes übernimmt: Nodes binden Container-Cluster zusammen und ermöglichen so die Durchführung von Arbeiten.

In der Regel ist ein Node (früher Minion genannt) ein einzelner Server (oder eine virtuelle Maschine), auf dem eine Container-Laufzeitumgebung wie Docker installiert ist. Im Kubernetes-Umfeld wird zwischen Master- und Worker-Nodes unterschieden. Erstere kümmern sich um die Verwaltung des Systems, letztere stellen die Workloads für die Container bereit.

Die Funktion von Nodes erklärt: Ein Containerschiff-Hafen als Metapher

Master-Nodes steuern ihren Kubernetes-Cluster. Sie tragen dabei für das System in der Gesamtheit die Verantwortung, aber nicht für den Ablauf der Workloads. Gängig wird mit mehreren Master-Nodes gearbeitet, um Ausfallsicherheit zu gewährleisten. Worker-Nodes sind ihrem Namen getreu die „Arbeiter“ des Systems, sie führen die Workloads aus.

Um die Funktionen zu verstehen, soll das Bild des Containerschiff-Hafens als Veranschaulichung helfen: Hier geht es darum, dass Schiffe be- und entladen werden. Die Container müssen ihrer weiteren Verwendung zugeführt werden. Diese Aufgabe übernehmen bestimmte Arbeitsgruppen, die vom Hafen bereitgestellt werden. Dies sind die Worker-Nodes.

Der Hafen in seiner Gesamtheit muss jedoch ebenfalls verwaltet werden. Es geht um Fragen, wie: Wo ist Platz für die Container? Welche Arbeiter sind gerade im Einsatz und brauchen welche Ressourcen? Funktionieren die Abläufe fehlerfrei? Dieses Management übernehmen die Master-Nodes.

Master-Nodes sind komplexer als Worker-Nodes, da sie mehrere Aufgaben haben. Sie bestehen aus den folgenden Bestandteilen:

  • API-Server: Steuerung des kompletten Clusters, Verbindungspunkt für fremde Software
  • Controller-Manager: Überprüfung der Funktionen des Clusters
  • Scheduler: Startet Dienste und kommuniziert mit den Worker-Nodes (im Bild der Hafenmeister)
  • etcd: Datenbank des Clusters. Master-Nodes haben hier eine eigene Instanz
  • Control-Panels: Grafische Oberfläche

Die Bestandteile von Worker-Nodes sind:

  • Kubelet: Es zeichnet für den Status von jedem Node verantwortlich. Dies bedeutet, das Kubelet integriert ihn in den Cluster und übernimmt das Starten sowie das Anhalten von Containern. Gesteuert wird es über den Controller Manager. In regelmäßigen Abständen (ein paar Sekunden) meldet es seinen Status an das zuständige Master-Node. Ist es nicht mehr erreichbar, kann der Controller-Manager so reagieren und die Aufgaben an ein anderes Worker-Node delegieren.
  • Kube Proxy: Verantwortliche für den Netzwerkzugriff und die Verwaltung der IP-Adresse des Proxys
  • cAdvisor: In das Kubelet integriert, zeichnet es die Ressourcen der Container auf (Speichernutzung, etc.)

(ID:46251295)