Freigeben über


Netzwerkkonzepte für Anwendungen in Azure Kubernetes Service (AKS)

Bei einem containerbasierten Ansatz mit Microservices für die Anwendungsentwicklung arbeiten die Anwendungskomponenten zusammen, um die jeweiligen Aufgaben zu verarbeiten. Kubernetes bietet verschiedene Ressourcen, die diese Zusammenarbeit ermöglichen:

  • Sie können eine Verbindung mit Anwendungen herstellen und diese intern oder extern verfügbar machen.
  • Sie können hochverfügbare Anwendungen erstellen, indem Sie für Ihre Anwendungen einen Lastenausgleich vornehmen.
  • Zur Steigerung der Sicherheit können Sie den Fluss des Netzwerkdatenverkehrs in oder zwischen Pods und Knoten beschränken.
  • Für komplexere Anwendungen können Sie den eingehenden Datenverkehr für den SSL/TLS-Abschluss oder ein Weiterleiten mehrerer Komponenten konfigurieren.

In diesem Artikel werden die wichtigsten Konzepte vorgestellt, mit denen Sie Netzwerke für Ihre Anwendungen in AKS bereitstellen:

Grundlegendes zu Kubernetes-Netzwerken

Kubernetes verwendet eine virtuelle Netzwerkschicht, um den Zugriff innerhalb und zwischen Ihren Anwendungen oder deren Komponenten zu verwalten:

  • Kubernetes-Knoten und virtuelles Netzwerk: Kubernetes-Knoten sind mit einem virtuellen Netzwerk verbunden. Durch dieses Setup können Pods (grundlegende Bereitstellungseinheiten in Kubernetes) sowohl eingehende als auch eine ausgehende Konnektivität aufweisen.

  • kube-proxy-Komponente: kube-proxy wird auf jedem Knoten ausgeführt und ist für die Bereitstellung der erforderlichen Netzwerkfeatures verantwortlich.

In Bezug auf bestimmte Kubernetes-Funktionen:

  • Lastenausgleich: Sie können einen Lastenausgleich verwenden, um den Netzwerkdatenverkehr gleichmäßig auf verschiedene Ressourcen zu verteilen.
  • Eingangsdatencontroller: Diese erleichtern das Layer-7-Routing, das für die Weiterleitung von Anwendungsdatenverkehr unerlässlich ist.
  • Steuerung des ausgehenden Datenverkehrs: Kubernetes ermöglicht es Ihnen, ausgehenden Datenverkehr von Clusterknoten zu verwalten und zu steuern.
  • Netzwerkrichtlinien: Diese Richtlinien ermöglichen Sicherheitsmaßnahmen und filtern nach Netzwerkdatenverkehr in Pods.

Im Kontext der Azure-Plattform:

  • Azure optimiert virtuelle Netzwerke für AKS-Cluster (Azure Kubernetes Service).
  • Das Erstellen eines Kubernetes-Lastenausgleichs in Azure richtet gleichzeitig die entsprechende Azure-Lastenausgleichsressource ein.
  • Wenn Sie Netzwerkports für Pods öffnen, konfiguriert Azure automatisch die erforderlichen Regeln für die Netzwerksicherheitsgruppe.
  • Azure kann auch externe DNS-Konfigurationen für das HTTP-Anwendungsrouting verwalten, wenn neue Eingangsrouten eingerichtet werden.

Virtuelle Azure-Netzwerke

In AKS können Sie einen Cluster bereitstellen, der eines der folgenden Netzwerkmodelle verwendet:

  • Überlagerungsnetzwerkmodell: Überlagerungsnetzwerke sind das am häufigsten verwendete Netztechnologiemodell in Kubernetes. Pods erhalten eine IP-Adresse von einem privaten, logisch getrennten CIDR vom Subnetz des virtuellen Azure-Netzwerks, in dem AKS-Knoten bereitgestellt werden. Dieses Modell ermöglicht eine einfachere, verbesserte Skalierbarkeit im Vergleich zum flachen Netzwerkmodell.
  • Flaches Netzwerkmodell: Ein flaches Netzwerkmodell in AKS weist Pods die IP-Adressen von einem Subnetz aus demselben virtuellen Azure-Netzwerk wie die AKS-Knoten zu. Der gesamte Datenverkehr, der Ihre Cluster verlässt, wird nicht per SNAT behandelt, und die Pod-IP-Adresse wird direkt für das Ziel verfügbar gemacht. Dieses Modell kann für Szenarios wie das Verfügbarmachen von Pod-IP-Adressen für externe Dienste nützlich sein.

Weitere Informationen zu Netzwerkmodellen in AKS finden Sie unter CNI-Netztechnologie in AKS.

Steuern des ausgehenden Datenverkehrs

AKS-Cluster werden in einem virtuellen Netzwerk bereitgestellt und verfügen über ausgehende Abhängigkeiten von Diensten außerhalb dieses virtuellen Netzwerks, die fast vollständig mit vollqualifizierten Domänennamen (FQDNs) definiert werden. AKS bietet mehrere Konfigurationsoptionen für die ausgehende Kommunikation, mit denen Sie anpassen können, wie auf diese externen Ressourcen zugegriffen wird.

Weitere Informationen zu den unterstützten ausgehenden Konfigurationstypen für AKS-Cluster finden Sie unter Anpassen des Ausgangs von Clustern mit ausgehenden Typen in Azure Kubernetes Service (AKS).

Standardmäßig verfügen AKS-Cluster über uneingeschränkten ausgehenden Internetzugriff, sodass die von Ihnen ausgeführten Knoten und Dienste bei Bedarf auf externe Ressourcen zugreifen können. Nötigenfalls können Sie den ausgehenden Datenverkehr einschränken.

Weitere Informationen zum Einschränken des ausgehenden Datenverkehrs aus Ihrem Cluster finden Sie unter Steuern des ausgehenden Datenverkehrs für Clusterknoten in AKS.

Netzwerksicherheitsgruppen

Eine Netzwerksicherheitsgruppe filtert den Datenverkehr für virtuelle Computer wie die AKS-Knoten. Beim Erstellen von Diensten (z. B. LoadBalancer) konfiguriert die Azure-Plattform automatisch alle erforderlichen Netzwerksicherheitsgruppen-Regeln.

Sie müssen Netzwerksicherheitsgruppen-Regeln nicht manuell konfigurieren, um den Datenverkehr für Pods in einem AKS-Cluster zu filtern. Sie können alle erforderlichen Ports und die Weiterleitung im Rahmen Ihrer Kubernetes-Dienstmanifeste definieren und das Erstellen oder Aktualisieren der entsprechenden Regeln der Azure-Plattform überlassen.

Sie können auch Netzwerkrichtlinien verwenden, um automatisch Filterregeln für den Datenverkehr auf Pods anzuwenden.

Weitere Informationen finden Sie unter Filtern von Netzwerkdatenverkehr mit Netzwerksicherheitsgruppen.

Netzwerkrichtlinien

Standardmäßig können alle Pods in einem AKS-Cluster Datenverkehr ohne Einschränkungen senden und empfangen. Aus Sicherheitsgründen definieren Sie Regeln, die den Datenverkehrsfluss steuern, z. B.:

  • Back-End-Anwendungen werden nur für erforderliche Front-End-Dienste verfügbar gemacht.
  • Datenbankkomponenten sind nur für die Anwendungsebenen zugänglich, die eine Verbindung damit herstellen.

Netzwerkrichtlinien sind ein in AKS verfügbares Kubernetes-Feature, mit dem Sie den Datenverkehrsfluss zwischen Pods steuern können. Anhand von Einstellungen wie zugewiesene Bezeichnungen, Namespace oder Port für den Datenverkehr können Sie Datenverkehr zulassen oder verweigern. Während Netzwerksicherheitsgruppen für AKS-Knoten besser geeignet sind, stellen Netzwerkrichtlinien eine geeignetere cloudnative Methode zum Steuern des Datenverkehrsflusses für Pods dar. Wenn Pods in einem AKS-Cluster dynamisch erstellt werden, können erforderliche Netzwerkrichtlinien automatisch angewendet werden.

Weitere Informationen finden Sie unter Sicherer Datenverkehr zwischen Pods durch Netzwerkrichtlinien in Azure Kubernetes Service (AKS).

Nächste Schritte

Um mit AKS-Netzwerken zu beginnen, erstellen und konfigurieren Sie einen AKS-Cluster mit Ihren eigenen IP-Adressbereichen unter Verwendung von Azure CNI-Overlay oder Azure CNI.

Entsprechende bewährte Methoden finden Sie unter Best Practices für Netzwerkkonnektivität und Sicherheit in AKS.

Weitere Informationen zu den wesentlichen Konzepten von Kubernetes und AKS finden Sie in den folgenden Artikeln: