Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Die Architektur des Azure Kubernetes-Anwendungsnetzwerks ist in drei Ebenen unterteilt: eine Verwaltungsebene, eine Steuerungsebene und eine Datenebene. Jede Ebene hat unterschiedliche Zuständigkeiten, die gemeinsam eine vollständig verwaltete, umgebungsbasierte Dienstnetzwerklösung für Azure Kubernetes Service (AKS) bereitstellen. Diese Architektur ermöglicht eine sichere, richtliniengesteuerte Kommunikation zwischen Diensten, ohne dass dafür Sidecars oder Änderungen an Ihren Anwendungen erforderlich sind.
Dieser Artikel enthält eine Übersicht über die Architekturebenen des Azure Kubernetes-Anwendungsnetzwerks, die Interaktion und das Multicluster-Dienstermittlungsmodell, das eine skalierbare clusterübergreifende Kommunikation ermöglicht. Weitere Informationen zum Azure Kubernetes-Anwendungsnetzwerk finden Sie in der Übersicht über das Azure Kubernetes-Anwendungsnetzwerk für AKS.
Übersicht über Architekturebenen des Anwendungsnetzwerks
Die Architekturebenen verwalten die folgenden Verantwortlichkeiten:
- Verwaltungsebene: Behandelt Azure-Ressourcenvorgänge wie das Erstellen, Aktualisieren und Löschen von Anwendungsnetzwerkressourcen und die Verwaltung der Clustermitgliedschaft.
- Steuerungsebene: Verwaltet die Gitterkonfiguration, den Zertifikatlebenszyklus und die Dienstermittlung für jeden Mitgliedscluster.
- Datenebene: Sichert Dienst-zu-Dienst-Datenverkehr direkt im Mitgliedscluster mithilfe des Ambient-Modus, der keine Sidecars oder Änderungen an Ihren Anwendungen erfordert.
Für Multiclusterbereitstellungen synchronisiert Anwendungsnetzwerk Dienstermittlungsinformationen über Mitgliedscluster hinweg, sodass Dienste transparent über Clustergrenzen hinweg kommunizieren können.
Das folgende Diagramm veranschaulicht die Architekturebenen des Azure Kubernetes-Anwendungsnetzwerks und ihre Interaktion mit Ihren AKS-Clustern:
Verwaltungsebene
Die Verwaltungsebene ist der Azure-Ressourcenanbieter, der alle Ressourcenvorgänge des Anwendungsnetzwerks verarbeitet. Wenn Sie eine Anwendungsnetzwerkressource erstellen oder einem Mitgliedscluster beitreten, überprüft die Verwaltungsebene die Anforderung, stellt unterstützende Azure-Ressourcen wie Azure Key Vault für die Zertifikatspeicherung bereit und koordiniert die Erstellung einer regionalen Kontrollebene für das Mitglied.
Sie interagieren mit der Verwaltungsebene über die Azure CLI (az appnet) oder die ARM-API. Die Verwaltungsebene koordiniert alle nachgelagerten Bereitstellungen, sodass Steuerebenen- und Datenebenenkomponenten ohne manuelle Eingriffe bereitgestellt werden.
Steuerebene
Die Verwaltungsebene ist eine Infrastruktur, die vollständig verwaltet wird und außerhalb Ihres AKS-Clusters ausgeführt wird. Wenn ein Mitgliedscluster einem Anwendungsnetzwerk beitritt, wird eine dedizierte Steuerungsebene in derselben Azure-Region wie der Membercluster bereitgestellt, wobei die Latenz zwischen Steuerelement- und Datenebenenkomponenten niedrig bleibt.
Hinweis
Mitglieder in verschiedenen Azure-Regionen verfügen über Steuerebenen, die in ihren jeweiligen Regionen bereitgestellt werden.
Die Steuerebene enthält die folgenden Komponenten:
- Istiod: Stellt eine Verbindung mit dem Kubernetes-API-Server des Mitgliedsclusters bereit, um Dienste zu ermitteln und auf Konfigurationsänderungen zu achten. Sie überträgt die xDS-Konfiguration an die ztunnel- und Waypoint-Proxys in der Datenebene. In Multi-Cluster-Bereitstellungen stellt Istiod auch eine Verbindung mit den Kubernetes-API-Servern anderer Mitgliedscluster bereit, um Dienstermittlungsinformationen abzurufen, wodurch die clusterübergreifende Dienstermittlung ermöglicht wird.
- Zertifikatverwaltung: Richtet CA-Zertifikate ein und rotiert sie, die von Azure Key Vault unterstützt werden. Eine Stammzertifizierungsstelle richtet eine gemeinsame Vertrauensgrenze in allen Mitgliedsclustern ein, und jedes Mitglied erhält eine Zwischenzertifizierungsstelle, die kurzlebige Workloadzertifikate ausgibt. Weitere Informationen finden Sie in der Übersicht über die Sicherheit des Azure Kubernetes-Anwendungsnetzwerks.
- Lebenszyklusverwaltung: Stellt alle Datenebenenkomponenten im Membercluster bereit und aktualisiert sie, einschließlich ztunnel, Istio CNI, Waypoint-Proxys und benutzerdefinierte Ressourcendefinitionen (CRDs). Weitere Informationen finden Sie unter Konfigurieren von Upgrades für Azure Kubernetes Application Network-Mitglieder.
Datenebene
Die Datenebene besteht aus Komponenten, die im Namespace des Memberclusters applink-system bereitgestellt werden. Das Anwendungsnetzwerk verwendet den Istio-Umgebungsmodus, sodass keine Sidecars in Ihre Workloads eingefügt werden.
Die Datenebene enthält die folgenden Komponenten:
- Ztunnel: Ein L4-Proxy auf Knotenebene, der als DaemonSet bereitgestellt wird. Ztunnel fängt Dienst-zu-Dienst-Datenverkehr auf dem Knoten ab, richtet mTLS-Verbindungen transparent ein und erzwingt L4-Autorisierungsrichtlinien.
- Waypoint-Proxys: Optionale pro-Namespace L7-Proxys, die HTTP-Routing, Datenverkehrsverschiebung, Fehlerinjektion und L7-Autorisierung bereitstellen. Waypoint-Proxys werden nur bereitgestellt, wenn L7-Richtlinien für einen Namespace konfiguriert sind.
- Ost-West-Gateway: Behandelt clusterübergreifenden Datenverkehr in Multiclusterbereitstellungen. Sie sind für die Bereitstellung der Netzwerkkonnektivität zwischen Ost-West-Gateways in jedem Mitgliedscluster verantwortlich. Weitere Informationen finden Sie unter Multicluster-Dienstermittlung.
- Istio CNI: Ein DaemonSet, das das Pod-Netzwerk für das Abfangen des Datenverkehrs in einem Ambient Mesh konfiguriert.
- CRDs: Kubernetes benutzerdefinierte Ressourcendefinitionen zum Konfigurieren von Datenverkehrsverwaltungs- und Sicherheitsrichtlinien.
Wenn eine Anforderung zwischen Diensten erfolgt, fängt ztunnel den Datenverkehr ab, stellt eine mTLS-Verbindung mit dem Ztunnel des Ziels her und liefert die Anforderung an die Zielarbeitsauslastung. Wenn L7-Richtlinien konfiguriert sind, wird der Datenverkehr über einen Wegpunkt-Proxy geleitet, bevor er sein Ziel erreicht. Bei clusterübergreifendem Datenverkehr leitet Ztunnel über das East-West-Gateway weiter, um Workloads in entfernten Mitgliedsclustern zu erreichen.
Multiclusterdienstentdeckung
Anwendungsnetzwerk unterstützt das Verbinden mehrerer AKS-Cluster mit einem einheitlichen Dienstgitter. Dienste in einem Mitgliedscluster können mit Diensten in anderen Mitgliedsclustern kommunizieren, wobei mTLS über die Grenzen der Cluster hinweg End-to-End erzwungen wird.
Bei Open-Source-Istio-Multiclusterbereitstellungen stellen Steuerungsebenen in der Regel eine Verbindung mit den Kubernetes-API-Servern anderer Cluster her, um Dienste und Konfigurationsänderungen zu ermitteln. Application Network folgt einem ähnlichen Dienstermittlungsmodell, bei dem Steuerebenen Dienstinformationen aus Mitgliedsclustern abrufen, sodass Dienste über Clustergrenzen hinweg ermittelt werden können. Mit diesem Ansatz können Workloads in einem Mitgliedscluster Dienste auflösen und kommunizieren, die in anderen Clustern ausgeführt werden, ohne dass Anwendungsänderungen erforderlich sind. Durch das Hinzufügen eines neuen Mitgliedsclusters wird die Gittermitgliedschaft erweitert, sodass Dienste im neuen Cluster von anderen Mitgliedern auffindbar werden.
Clusterübergreifender Datenverkehr fließt über Ost-West-Gateways, die in jedem Mitgliedscluster bereitgestellt werden. Sie sind dafür verantwortlich, die Netzwerkreichbarkeit zwischen den Ost-West-Gateways Ihrer Mitgliedscluster bereitzustellen, z. B. über VNet-Peering, VPN oder andere Konnektivitätslösungen. Der gesamte clusterübergreifende Datenverkehr wird mit mTLS verschlüsselt.
Interaktion von Komponenten
Die Steuerebene stellt eine Verbindung mit dem Kubernetes-API-Server des Mitgliedsclusters her, überwacht Dienst- und Konfigurationsänderungen und pusht xDS-Updates an ztunnel- und Waypoint-Proxys. Wenn mehrere Mitglieder vorhanden sind, tauscht jede Kontrollebene auch Dienstinformationen über verwaltetes Messaging aus, sodass jedes Mitglied eine einheitliche Ansicht aller Dienste im Gitter hat.
Die Zertifikatverwaltung richtet eine Stammzertifizierungsstelle ein, wenn die Anwendungsnetzwerkressource erstellt wird, und stellt Zwischenzertifizierungsstellen für jeden Mitgliedscluster aus. Arbeitsauslastungszertifikate werden mit einer Gültigkeitsdauer von 24 Stunden ausgestellt und automatisch alle 12 Stunden gedreht. Der gesamte Zertifikatlebenszyklus von der Stammzertifizierungsstelle über Zwischen- und Workloadzertifikate wird ohne manuelle Eingriffe verwaltet.
Die vollständige Zertifikathierarchie und der vollständige Rotationszeitplan finden Sie in der Übersicht über die Sicherheit des Azure Kubernetes-Anwendungsnetzwerks.
Verwandte Inhalte
Weitere Informationen zum Azure Kubernetes-Anwendungsnetzwerk finden Sie in den folgenden Artikeln: