Che cos'è Gateway applicativo per contenitori?

Application Gateway for Containers è un servizio gestito di bilanciamento del carico a livello di applicazione (livello 7) e di ingresso per i carichi di lavoro Kubernetes. Instrada il traffico di inferenza HTTP, HTTPS, gRPC e intelligenza artificiale alle applicazioni in Servizio Azure Kubernetes (AKS) mentre Azure opera il piano dati sottostante all'esterno del cluster.

È possibile configurare Application Gateway for Containers in Kubernetes utilizzando le risorse Ingress e Gateway API supportate. Questo modello di configurazione consente ai team della piattaforma di fornire un livello di ingresso condiviso Azure gestito mentre i team delle applicazioni usano risorse native di Kubernetes per descrivere come i servizi ricevono il traffico.

Per i carichi di lavoro di intelligenza artificiale, il gateway di inferenza di Application Gateway for Containers supporta server di modelli ospitati autonomamente che richiedono un instradamento basato sul modello e la selezione dell'endpoint al momento della richiesta. Per ulteriori informazioni, vedere Gateway applicazione per contenitori - Gateway di inferenza.

Application Gateway for Containers è un'offerta separata di Application Gateway, progettata per Kubernetes fin dalle fondamenta, con un piano di controllo dedicato e un piano dati plasmati dalle lezioni apprese da Application Gateway Ingress Controller (AGIC). Il controller ALB viene eseguito nel cluster e traduce la configurazione di Kubernetes nella configurazione di Application Gateway for Containers in Azure.

Riassunto del prodotto

A grandi linee, Application Gateway for Containers fornisce:

  • Configurazione nativa di Kubernetes: usare le risorse dell'API Gateway e in ingresso per definire il modo in cui le richieste raggiungono i servizi nel cluster.
  • Piano dati di ingresso gestito da Azure: mantieni il traffico in ingresso all'esterno del cluster AKS mentre Azure gestisce il piano dati che elabora le richieste dei client.
  • Piattaforma di ingresso condiviso: separare l'infrastruttura di ingresso di proprietà della piattaforma dalla configurazione del routing di proprietà dell'applicazione.
  • Adozione incrementale: Usa le risorse Ingress o Gateway API affinché i carichi di lavoro possano passare gradualmente ad Application Gateway for Containers.
  • Supporto per l'inferenza IA: instrada il traffico di inferenza verso server di modelli self-hosted con routing basato sul modello e selezione degli endpoint al momento della richiesta, configurati tramite la Inference Extension di Gateway API.
  • Controlli di distribuzione delle applicazioni: Usare il routing di livello 7, la suddivisione del traffico, le sonde di integrità, i tentativi di nuovo invio, TLS, l'autenticazione reciproca e i criteri del Web application firewall (WAF).

Come funziona?

Application Gateway for Containers separa la configurazione di Kubernetes dalla gestione del traffico di Azure. Il controller ALB osserva le risorse di Kubernetes, ad esempio Ingress, Gateway, HTTPRoute e ApplicationLoadBalancer, e applica la configurazione desiderata in Application Gateway for Containers in Azure.

Una distribuzione di Application Gateway for Containers è composta da quattro componenti:

  • Risorsa Gateway applicativo per contenitori
  • Front-end
  • Associazioni
  • Criteri di sicurezza

Le distribuzioni fanno riferimento anche alle seguenti dipendenze:

  • Delega per la subnet
  • Identità gestita assegnata dall'utente

L'architettura di Gateway applicativo per contenitori è riepilogata nella figura seguente:

Diagramma che illustra il traffico proveniente da Internet in ingresso nel Gateway applicativo per contenitori e inviato ai pod back-end nel servizio Azure Kubernetes.

Per informazioni dettagliate sul modo in cui il Gateway applicativo per contenitori accetta le richieste in ingresso e le instrada a una destinazione back-end, vedere Componenti di Gateway applicativo per contenitori.

Funzionalità di gestione del traffico supportate

Gateway applicativo per contenitori supporta le funzionalità seguenti per la gestione del traffico:

  • Funzionalità del gateway di intelligenza artificiale
    • Supporto dell'estensione di inferenza dell'API del gateway
    • Routing compatibile con il modello con un router basato sul corpo gestito (BBR)
    • Instradamento sensibile al carico verso le repliche del modello meno cariche per ridurre la latenza, tramite un selettore di endpoint (EPP)
    • Inferenza sicura con Web application firewall (WAF)
  • Componente aggiuntivo gestito di AKS
  • Tentativi automatici
  • Scalabilità automatica
  • Resilienza della zona di disponibilità
  • Probe di integrità personalizzati e predefiniti
  • Supporto dei certificati ECDSA e RSA
  • Strategie di bilanciamento del carico flessibili
    • Richiesta minima
    • Routing compatibile con il carico
    • Hash ad anello
    • Round Robin
    • Round Robin ponderato
  • gRPC
  • Riscrittura dell'intestazione
  • HTTP/2
  • Gestione del traffico HTTPS:
    • Terminazione SSL
    • SSL end-to-end
  • Supporto dell'API gateway e in ingresso
  • Inoltro delle richieste HTTP/HTTPS di livello 7 in base a corrispondenza esatta/prefisso per:
    • nomehost
    • Path
    • Intestazione
    • Stringa di query
    • Metodi
    • Porte (80/443)
  • Autenticazione reciproca (mTLS) per front-end, back-end o end-to-end
  • Supporto di eventi Server-Sent
  • Criteri TLS
  • Reindirizzamento URL
  • Riscrittura URL
  • Web application firewall (WAF)
  • Supporto per WebSocket

Strategie di distribuzione

Esistono due strategie di distribuzione per la gestione di gateway applicazione per i contenitori:

  • Bring Your Own Deployment (BYO): si gestiscono la distribuzione e il ciclo di vita della risorsa Gateway applicazione per contenitori, della risorsa di associazione e della risorsa front-end tramite il portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell o Terraform. È possibile fare riferimento a queste risorse nella configurazione all'interno di Kubernetes.
    • Nell'API gateway: Ogni volta che si crea una nuova risorsa gateway in Kubernetes, è prima di tutto necessario effettuare il provisioning di una risorsa front-end in Azure e farvi riferimento dalla risorsa gateway. L'amministratore Azure gestisce l'eliminazione della risorsa front-end. La risorsa front-end non viene eliminata quando la risorsa gateway in Kubernetes viene eliminata.
  • Gestito dal controller ALB: Il controller ALB distribuito in Kubernetes è responsabile del ciclo di vita della risorsa gateway applicazione per contenitori e delle relative sottorisorse. Il controller ALB crea la risorsa Application Gateway for Containers quando nel cluster viene definita una risorsa personalizzata ApplicationLoadBalancer. Il ciclo di vita si basa sul ciclo di vita della risorsa personalizzata.
    • Nell'API gateway: Ogni volta che si crea una risorsa gateway che fa riferimento alla risorsa ApplicationLoadBalancer, il controller ALB effettua il provisioning di una nuova risorsa front-end e ne gestisce il ciclo di vita in base al ciclo di vita della risorsa gateway.

Aree supportate

Application Gateway for Containers è attualmente disponibile nelle aree geografiche seguenti:

  • Australia orientale
  • Brasile meridionale
  • Canada centrale
  • India centrale
  • Stati Uniti centrali
  • Asia orientale
  • Stati Uniti orientali
  • Stati Uniti orientali 2
  • Francia centrale
  • Germania centro-occidentale
  • Corea centrale
  • Stati Uniti centro-settentrionali
  • Europa settentrionale
  • Norvegia orientale
  • Stati Uniti centro-meridionali
  • Asia sud-orientale
  • Sweden Central
  • Svizzera settentrionale
  • Emirati Arabi Uniti settentrionali
  • Regno Unito meridionale
  • Stati Uniti occidentali
  • West US 2 (Regione Ovest degli Stati Uniti 2)
  • Stati Uniti occidentali 3
  • Europa occidentale

Supporto dell'API del gateway

Il controller ALB implementa la versione 1.5dell'API gateway.

Risorsa dell'API gateway Supporto Commenti
GatewayClass
Gateway Supporto per i protocolli HTTP e HTTPS nel listener. Le uniche porte consentite nel listener sono 80 e 443.
HTTPRoute
GRPCRoute
Concessione di Riferimento Attualmente supporta la versione v1alpha1 di questa API
InferencePool
InferenceObjective Attualmente implementa la versione v1alpha1 di questa API

Supporto dell'API in ingresso

Il controller ALB implementa il supporto per le risorse in ingresso.

Risorsa dell'API in ingresso Supporto Commenti
Dati in ingresso Supporto per i protocolli HTTP e HTTPS nel listener.

Segnalare problemi e inviare feedback

Per commenti e suggerimenti, pubblicare una nuova idea in feedback.azure.com. In caso di problemi, aprire una richiesta di supporto tramite il portale di Azure per la risorsa Application Gateway for Containers.

Prezzi e contratto di servizio

Per informazioni sui prezzi di Application Gateway for Containers, vedere Prezzi di Application Gateway.

Per informazioni sugli SLA di Application Gateway for Containers, vedi Contratti di servizio (SLA) per i servizi online.

Novità

Per informazioni sulle novità di Gateway applicativo per contenitori, vedere gli aggiornamenti di Azure.

Passaggi successivi