Was ist Application Gateway für Container?

Das Anwendungsgateway für Container ist eine verwaltete Anwendungsschicht (Layer 7) zum Lastenausgleich und zum Eingangsdienst für Kubernetes-Workloads. Er leitet HTTP-, HTTPS-, gRPC- und KI-Ableitungsdatenverkehr an Anwendungen in Azure Kubernetes Service (AKS) weiter, während Azure die zugrunde liegende Datenebene außerhalb des Clusters betreibt.

Sie konfigurieren das Anwendungsgateway für Container von Kubernetes mithilfe der unterstützten Ressourcen "Ingress" und "Gateway-API". Mit diesem Konfigurationsmodell können Plattformteams eine gemeinsam genutzte Azure verwaltete Eingangsschicht bereitstellen, während Anwendungsteams Kubernetes-native Ressourcen verwenden, um zu beschreiben, wie ihre Dienste Datenverkehr empfangen.

Für KI-Workloads unterstützt das Inference-Gateway von Application Gateway for Containers selbst gehostete Modellserver, die modellbewusstes Routing und eine Endpunktauswahl zur Anforderungszeit benötigen. Weitere Informationen finden Sie unter Application Gateway for Containers – Inference Gateway.

Anwendungsgateway für Container ist ein separates Anwendungsgateway, das für Kubernetes von Grund auf erstellt wurde, mit einer dedizierten Steuerebene und Datenebene, die von den Erkenntnissen des Application Gateway Ingress Controller (AGIC) geprägt ist. ALB Controller wird im Cluster ausgeführt und übersetzt die Kubernetes-Konfiguration in das Anwendungsgateway für die Containerkonfiguration in Azure.

Produktübersicht

Auf hoher Ebene bietet Das Anwendungsgateway für Container Folgendes:

  • Kubernetes-systemeigene Konfiguration: Verwenden Sie Ingress- und Gateway-API-Ressourcen, um zu definieren, wie Anforderungen Dienste in Ihrem Cluster erreichen.
  • Azure verwaltete Eingangsdatenebene: Datenverkehr außerhalb des AKS-Clusters beibehalten, während Azure die Datenebene betreibt, die Clientanforderungen verarbeitet.
  • Gemeinsame Eingangsplattform: Separate plattformeigene Eingangsinfrastruktur von anwendungseigener Routingkonfiguration.
  • Inkrementelle Einführung: Verwenden Sie Ingress- oder Gateway-API-Ressourcen, damit Workloads im Laufe der Zeit zum Anwendungsgateway für Container wechseln können.
  • Unterstützung für KI-Inferenz: Leiten Sie Inferenzdatenverkehr an selbst gehostete Modellserver weiter – mit modellbewusstem Routing und Endpunktauswahl zur Anfragezeit, konfiguriert über die Gateway API Inference Extension.
  • Anwendungsübermittlungssteuerelemente: Verwenden Sie Layer 7-Routing, Datenverkehrsteilung, Integritätssonden, Wiederholungsversuche, TLS, gegenseitige Authentifizierung und Web Application Firewall (WAF)-Richtlinien.

Wie funktioniert dies?

Application Gateway für Container trennt die Kubernetes-Konfiguration von der Verarbeitung des Azure-Datenverkehrs. ALB Controller überwacht Kubernetes-Ressourcen wie Ingress, Gateway, HTTPRoute und ApplicationLoadBalancer und wendet die gewünschte Konfiguration auf das Anwendungsgateway für Container in Azure an.

Eine Bereitstellung von Application Gateway for Containers besteht aus vier Komponenten:

  • Application Gateway für Container-Ressource
  • Front-Ends
  • Associations
  • Sicherheitsrichtlinien

Bereitstellungen verweisen auch auf die folgenden Abhängigkeiten:

  • Subnetzdelegierung
  • Dem Benutzer zugewiesene Managed Identity

In der folgenden Abbildung sehen Sie eine Übersicht über die Architektur von Application Gateway für Container:

Abbildung des Datenverkehrsflusses aus dem Internet durch Application Gateway für Container bis an Back-End-Pods in AKS

Weitere Informationen dazu, wie Application Gateway für Container eingehende Anforderungen akzeptiert und an ein Back-End-Ziel weiterleitet, finden Sie unter Komponenten von Application Gateway für Container.

Unterstützte Funktionen zur Verkehrsverwaltung

Application Gateway für Container unterstützt die folgenden Features für die Datenverkehrsverwaltung:

  • KI-Gatewayfunktionen
    • Unterstützung für die Inference-Erweiterung für die Gateway API
    • Modellfähiges Routing mit einem verwalteten Body-basierten Router (BBR)
    • Lastabhängige Weiterleitung an die am wenigsten ausgelasteten Modellreplikate für geringere Latenz unter Verwendung eines Endpoint Pickers (EPP)
    • Sichere Ableitung mit Web Application Firewall (WAF)
  • Verwaltetes AKS-Add-On
  • Automatische Wiederholungen
  • Automatische Skalierung
  • Resilienz von Verfügbarkeitszonen
  • Benutzerdefinierte und standardmäßige Integritätstests
  • ECDSA- und RSA-Zertifikatunterstützung
  • Flexible Lastenausgleichsstrategien
    • Geringste Anforderung
    • Lastabhängige Weiterleitung
    • RingHash
    • RoundRobin
    • Gewichteter Roundrobin
  • gRPC
  • Erneutes Generieren von Headern
  • HTTP/2
  • HTTPS-Datenverkehrsverwaltung:
    • SSL-Terminierung
    • End-to-End-SSL
  • Unterstützung für Ingress- und Gateway-API
  • HTTP/HTTPS-Anforderungsweiterleitung auf Layer 7 basierend auf Präfix/exakter Übereinstimmung für:
    • Hostname
    • `Path`
    • Header
    • Abfragezeichenfolge
    • Methoden
    • Ports (80/443)
  • Gegenseitige Authentifizierung (mTLS) zum Frontend, Back-End oder End-to-End
  • Unterstützung für vom Server gesendete Ereignisse (SSE)
  • TLS-Richtlinien
  • URL Redirect
  • URL Rewrite
  • Webanwendungsfirewall (WAF)
  • WebSocket-Unterstützung

Bereitstellungsstrategien

Es gibt zwei Bereitstellungsstrategien für die Verwaltung von Application Gateway für Container:

  • Bring Your Own (BYO)-Bereitstellung: Sie verwalten die Bereitstellung und den Lebenszyklus der Application Gateway für Container-Ressource, der Zuordnungsressource und der Front-End-Ressource mithilfe des Azure-Portals, der Azure CLI, von Azure PowerShell oder Terraform. Sie verweisen auf diese Ressourcen in der Konfiguration in Kubernetes.
    • In Gateway-API: Jedes Mal, wenn Sie eine neue Gatewayressource in Kubernetes erstellen, stellen Sie zuerst eine Frontend-Ressource in Azure bereit und verweisen sie über die Gatewayressource darauf. Der Azure Administrator verwaltet das Löschen der Frontend-Ressource. Die Frontend-Ressource wird nicht gelöscht, wenn die Gatewayressource in Kubernetes gelöscht wird.
  • Verwaltet von ALB Controller: ALB Controller, der in Kubernetes bereitgestellt wird, ist für den Lebenszyklus der Application Gateway for Containers-Ressource und deren Unterressourcen verantwortlich. ALB Controller erstellt die Ressource „Application Gateway for Containers“, wenn im Cluster eine benutzerdefinierte Ressource vom Typ „ApplicationLoadBalancer“ definiert ist. Der Lebenszyklus basiert auf dem Lebenszyklus der benutzerdefinierten Ressource.
    • In Gateway-API: Jedes Mal, wenn Sie eine Gatewayressource erstellen, die auf die ApplicationLoadBalancer-Ressource verweist, stellt ALB Controller eine neue Frontend-Ressource bereit und verwaltet ihren Lebenszyklus basierend auf dem Lebenszyklus der Gatewayressource.

Unterstützte Regionen

Das Anwendungsgateway für Container ist derzeit in den folgenden Regionen verfügbar:

  • Australien (Osten)
  • Brasilien Süd
  • Kanada, Mitte
  • Indien, Mitte
  • USA, Mitte
  • Asien, Osten
  • East US
  • Ost-USA 2
  • Frankreich, Mitte
  • Deutschland, Westen-Mitte
  • Korea, Mitte
  • USA Nord Mitte
  • Nordeuropa
  • Norwegen, Osten
  • USA Süd Mitte
  • Asien, Südosten
  • Sweden Central
  • Schweiz, Norden
  • Vereinigte Arabische Emirate, Norden
  • UK, Süden
  • USA (Westen)
  • Westliches USA 2
  • Westliches USA 3
  • Europa, Westen

Gateway-API-Unterstützung

ALB Controller implementiert Version v1.5 der Gateway-API.

Gateway-API-Ressource Support Kommentare
GatewayClass Ja
Gateway Ja Unterstützung für das HTTP- und das HTTPS-Protokoll im Listener. Im Listener sind nur die Ports 80 und 443 zulässig.
HTTPRoute Ja
GRPCRoute Ja
ReferenceGrant Ja Unterstützt derzeit Version v1alpha1 dieser API
InferencePool Ja
InferenceObjective Ja Implementiert derzeit Version v1alpha1 dieser API.

Unterstützung der Ingress-API

Der ALB-Controller implementiert die Unterstützung für Ingress.

Ingress-API-Ressource Support Kommentare
Eingehend Ja Unterstützung für das HTTP- und das HTTPS-Protokoll im Listener.

Melden von Problemen und Feedback

Für Feedback posten Sie eine neue Idee in feedback.azure.com. Lösen Sie bei Problemen eine Supportanfrage über das Azure-Portal auf Ihrem Anwendungsgateway für Containerressourcen aus.

Preise und SLA

Preisinformationen zum Anwendungsgateway für Container finden Sie unter Anwendungsgateway-Preise.

Sla-Informationen zum Anwendungsgateway für Container finden Sie unter Service Level Agreements (SLA) für Onlinedienste.

Neues

Weitere Informationen zu den Neuerungen von Application Gateway für Container finden Sie unter Azure-Updates.

Nächste Schritte