Übersicht über Kubernetes-Netzwerke

Abgeschlossen

Nodes

Häufig wird für Kubernetes der Begriff Cluster verwendet. Allgemein gesagt, sind Cluster eine Gruppe von Computern, die gemeinsam Ressourcen nutzen, um die Leistung und Verfügbarkeit zu verbessern. Wenn Computer im Cluster ausfallen, können die im Cluster ausgeführten Dienste weiterhin auf den verbleibenden funktionierenden Computern ausgeführt werden.

In Microsoft Azure werden diese Computer als virtuelle Computer (Virtual Machines, VMs) bezeichnet. In Kubernetes heißen sie Knoten.

Knoten benötigen Netzwerkkonnektivität, damit sie miteinander kommunizieren und Netzwerkdatenverkehr effektiv weiterleiten können. Knoten müssen auch mit der Kubernetes-Steuerungsebene kommunizieren, die die wichtigsten Kubernetes-Dienste und die Orchestrierung von Anwendungsworkloads bereitstellt, damit sie Ihre Anwendungsworkloadressourcen ausführen können.

Diagram that shows the Kubernetes cluster nodes and control plane.

Pods

In Kubernetes umfassen Anwendungsworkloadressourcen Pods, Bereitstellungen und Sets. Pods sind die kleinste bereitgestellte Einheit in einem Kubernetes-Cluster. Sie werden so auf Ihre Knoten verteilt, dass die auf den Knoten verfügbaren Prozessor- und Arbeitsspeicherressourcen optimal genutzt werden können. Pods stellen in der Regel eine einzelne Instanz oder Unterkomponenten Ihrer Anwendung dar. Ein Pod kann z. B. eine Einkaufswagenkomponente ausführen, die die Artikel im Einkaufswagen eines Kunden verwaltet, oder eine Versandkomponente, mit der abgeschlossene Bestellungen verarbeitet werden.

Sie können mehrere Kopien desselben Pods ausführen, die als Replikate bezeichnet werden. Mithilfe von Replikaten werden mehrere Pods auf Knoten verteilt, um Hochverfügbarkeit zu gewährleisten. Da es mehreren Replikate der Pods gibt, kann die Anwendung auch dann weiterhin funktionieren, wenn eine Komponente ausfällt, die in einem Pod ausgeführt wird.

Diagram that shows multiple pod replicas running across several Kubernetes cluster nodes.

Mit den Skalierungsfeatures in Kubernetes können Sie Pods hinzufügen oder entfernen und so auf die Nachfrage im Cluster reagieren. Die Funktionen für die Selbstreparatur in Kubernetes können jeden ausgefallenen Pod ersetzen. Die integrierte Unterstützung für parallele Updates automatisiert die Bereitstellung neuer Versionen einer Anwendung ohne Downtime.

Pods wird während der Erstbereitstellung eine neue IP-Adresse zugewiesen. Diese IP-Adresse wird für die gesamte Netzwerkkommunikation mit dem Pod verwendet. Es gibt viele Szenarien, in denen einem Pod eine neue IP-Adresse zugewiesen wird. Wenn die Clusternachfrage hoch ist und eine Skalierung erfolgt, werden neue Pods bereitgestellt. Wenn Sie eine Anwendung aktualisieren, werden neue Pods bereitgestellt, um die alten Pods zu ersetzen. Wenn ein Pod fehlschlägt, ersetzt ein neuer Pod ihn automatisch. Alle diese Szenarien führen zu neuen IP-Adressen für Pods.

Wenn sich die IP-Adressen von Pods jedoch ständig ändern, woher weiß Kubernetes dann, wohin Netzwerkdatenverkehr gesendet werden soll, damit er die Anwendung erreicht? Die Antwort sind Dienste.

Dienste

Ein Kubernetes-Dienst befindet sich vor einer Gruppe von Pods und stellt eine statische IP-Adresse bereit. Wenn bei einem Dienst Datenverkehr eingeht, verteilt der Dienst diesen nach dem Roundrobin-Verfahren an eine Gruppe von Back-End-Pods. Der Dienst verfolgt Änderungen an den IP-Adressen der Pods, um sicherzustellen, dass der Netzwerkdatenverkehr an die richtigen Pods gesendet wird.

Diagram that shows multiple pod replicas being served network traffic via a Kubernetes service.