Freigeben über


Eingangssteuerung in Azure Kubernetes Service (AKS)

Die Eingangssteuerung in AKS ist eine Kubernetes-Ressource, die den Zugriff des externen HTTP-ähnlichen Datenverkehrs auf Dienste innerhalb eines Clusters verwaltet. Die AKS-Eingangssteuerung kann Dienste wie Lastenausgleich, SSL-Beendigung und namensbasiertes virtuelles Hosting bereitstellen. Weitere Informationen über die Kubernetes-Eingangssteuerung finden Sie in der Dokumentation zur Kubernetes-Eingangssteuerung.

Eingangsdatencontroller

Beim Verwalten von Anwendungsdatenverkehr bieten Eingangscontroller erweiterte Funktionen, indem sie auf Ebene 7 arbeiten. Sie können HTTP-Datenverkehr basierend auf der eingehenden URL an verschiedene Anwendungen weiterleiten, sodass intelligentere und flexiblere Datenverkehrsverteilungsregeln möglich sind. Beispielsweise kann ein Eingangscontroller abhängig vom URL-Pfad den Datenverkehr an verschiedene Microservices leiten und so die Effizienz und Organisation Ihrer Dienste verbessern.

Wird dagegen ein Dienst des Typs „LoadBalancer“ (Lastenausgleich) erstellt, wird eine zugrunde liegende Azure Load Balancer-Ressource eingerichtet. Dieser Lastenausgleich funktioniert auf Ebene 4 und verteilt Datenverkehr an die Pods in Ihrem Dienst auf einem angegebenen Port. Dienste der Ebene 4 haben jedoch keine Kenntnis der tatsächlichen Anwendungen und können diese Arten von komplexen Routingregeln nicht implementieren.

Ein Verständnis des Unterschieds zwischen diesen beiden Ansätzen hilft bei der Auswahl des richtigen Tools für Ihre Anforderungen an die Datenverkehrsverwaltung.

Diagramm mit Eingangsdatenverkehrsfluss in einem AKS-Cluster

Vergleichen von Eingangsoptionen

In der folgenden Tabelle sind die Funktionsunterschiede zwischen den verschiedenen Eingangscontrolleroptionen aufgeführt:

Funktion Anwendungsrouting-Add-On Application Gateway für Container Azure Service Mesh/Istio-basiertes Dienstnetz
Eingangs-/Gatewaycontroller NGINX-Eingangscontroller Azure Application Gateway für Containers Istio Ingress Gateway
API Eingehende API Ingress-API und Gateway-API Gateway-API
Hosting Im Cluster In Azure gehostet Im Cluster
Skalieren Automatische Skalierung Automatische Skalierung Automatische Skalierung
Lastenausgleich Intern/extern Extern Intern/extern
SSL-Terminierung Im Cluster Ja: Offboarding und E2E SSL Im Cluster
mTLS N/V Ja zum Back-End N/V
Statische IP-Adresse N/V FQDN N/V
In Azure Key Vault gespeicherte SSL-Zertifikate Ja Ja N/V
Azure DNS-Integration für die DNS-Zonenverwaltung Ja Ja N/V

In der folgenden Tabelle sind die verschiedenen Szenarien aufgeführt, in denen Sie die einzelnen Eingangscontroller verwenden können:

Eingangsoptionen Einsatzgebiete
Verwaltetes NGINX: Anwendungsrouting-Add-On • Im Cluster gehostete, anpassbare und skalierbare NGINX-Eingangscontroller.
• Grundlegende Lastenausgleichs- und Routingfunktionen.
• Interne und externe Lastenausgleichskonfiguration.
• Konfiguration der öffentlichen IP-Adresse.
• Integration in Azure Key Vault für die Zertifikatverwaltung.
• Integration in Azure DNS für die Verwaltung öffentlicher und privater Zone.
• Unterstützt die Ingress-API.
Application Gateway für Container • Von Azure gehostetes Eingangsgateway.
• Flexible Bereitstellungsstrategien, die vom Controller verwaltet werden oder Ihr eigenes Anwendungsgateway für Container.
• Erweiterte Datenverkehrsverwaltungsfunktionen wie automatische Wiederholungen, Ausfallsicherheit der Verfügbarkeitszone, gegenseitige Authentifizierung (mTLS) zum Back-End-Ziel, Datenverkehrsaufteilung/gewichteter Roundrobin und automatische Skalierung.
• Integration in Azure Key Vault für die Zertifikatverwaltung.
• Integration in Azure DNS für die Verwaltung öffentlicher und privater Zone.
• Unterstützt die Ingress- und Gateway-APIs.
Istio Ingress Gateway • Basierend auf Envoy, bei Verwendung mit Istio für ein Dienstnetz.
• Erweiterte Datenverkehrsverwaltungsfunktionen wie Geschwindigkeitsbegrenzung und Verbindungsunterbrechung.
• Unterstützung für mTLS
• Unterstützung für die Gateway-API.

Erstellen einer Eingangsressource

Das Anwendungsrouting-Add-On ist die empfohlene Methode zum Konfigurieren eines Eingangsdatencontrollers in AKS. Das Anwendungsrouting-Add-On ist ein vollständig verwalteter Eingangsdatencontroller für Azure Kubernetes Service (AKS), der die folgenden Funktionen bereitstellt:

  • Einfache Konfiguration von verwalteten NGINX-Eingangsdatencontrollern basierend auf NGINX-Eingangsdatencontrollern für Kubernetes

  • Integration in Azure DNS für die Verwaltung öffentlicher und privater Zone.

  • SSL-Beendigung mit Zertifikaten, die in Azure Key Vault gespeichert sind

Weitere Informationen zum Anwendungsrouting-Add-On finden Sie unter Verwalteter NGINX-Eingang mit dem Anwendungsrouting-Add-On.

Beibehaltung der Clienquell-IP

Konfigurieren Sie den Eingangscontroller so, dass die Quell-IP des Clients bei Anforderungen an Container im AKS-Cluster beibehalten wird. Wenn der Eingangscontroller die Anforderung eines Clients an einen Container im AKS-Cluster weiterleitet, ist die ursprüngliche Quell-IP dieser Anforderung für den Zielcontainer nicht verfügbar. Wenn Sie die Beibehaltung der Clientquell-IP aktivieren, ist die Quell-IP für den Client im Anforderungsheader unter X-Forwarded-For verfügbar.

Wenn Sie die Beibehaltung der Clientquell-IP auf dem Eingangscontroller verwenden, können Sie kein TLS-Pass-Through verwenden. Die Beibehaltung der Clientquell-ID und TLS-Pass-Through-können mit anderen Diensten verwendet werden, z. B. dem LoadBalancer-Typ.

Weitere Informationen zur Beibehaltung der Clientquell-IP finden Sie unter Netzwerkkonzepte für Anwendungen in Azure Kubernetes Service (AKS).