Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il controller di ingresso del Gateway Applicazione (AGIC) è un'applicazione Kubernetes che consente ai cluster Azure Kubernetes Service (AKS) di usare il bilanciatore di carico L7 nativo di Application Gateway di Azure per esporre i carichi di lavoro al pubblico tramite Internet. AGIC monitora il cluster Kubernetes su cui è ospitato e aggiorna continuamente un'Application Gateway in modo che i servizi selezionati siano esposti su Internet.
Il controller in ingresso viene eseguito nel proprio pod nel cluster del servizio Azure Kubernetes. AGIC monitora un subset di risorse Kubernetes per individuare le modifiche. Lo stato del cluster di Azure Kubernetes Service (AKS) viene tradotto in una configurazione specifica per l'Application Gateway e applicata tramite Azure Resource Manager (ARM).
In questo articolo vengono illustrati i vantaggi di AGIC, opzioni di distribuzione (componente aggiuntivo Helm e servizio Azure Kubernetes) e configurazioni di rete dei contenitori supportate.
Suggerimento
Prendere in considerazione il Gateway applicativo per contenitori per la soluzione di ingresso Kubernetes. Per altre informazioni, vedere Avvio rapido: Distribuire il controller ALB del gateway applicativo per contenitori.
Vantaggi del controller in ingresso del gateway applicazione
AGIC aiuta a eliminare la necessità di un altro bilanciatore di carico o di un indirizzo IP pubblico davanti al cluster AKS. Evita più passaggi nel percorso dati prima che le richieste raggiungano il cluster AKS. Il gateway applicazione comunica direttamente con i pod tramite l'indirizzo IP privato e non richiede i servizi NodePort o KubeProxy. Questa funzionalità offre anche prestazioni migliori per le proprie distribuzioni.
Il controller Ingress è supportato esclusivamente dagli SKU Standard_v2 e WAF_v2, che abilitano anche i vantaggi del ridimensionamento automatico. Il gateway applicazione può reagire in risposta a un aumento o a una riduzione del carico del traffico e di conseguenza della scalabilità, senza usare risorse dal cluster del servizio Azure Kubernetes.
L'uso del gateway applicativo oltre ad AGIC aiuta anche a proteggere il cluster AKS fornendo criteri di TLS e funzionalità di Web Application Firewall (WAF).
AGIC viene configurato tramite la risorsa di ingresso Kubernetes, insieme a Service and Deployments/Pods.AGIC is configured through the Kubernetes Ingress resource, insieme a Service and Deployments/Pods. Usando il servizio di bilanciamento del carico nativo Azure Application Gateway L7, AGIC offre le funzionalità seguenti:
- Routing basato su URL
- Affinità basata sui cookie
- Terminazione TLS
- TLS end-to-end
- Supporto per siti Web pubblici, privati e ibridi
- Web application firewall integrato
Avvertimento
Per impostazione predefinita, AGIC presuppone la proprietà completa del gateway applicazione a cui è collegato. AGIC sovrascrive tutte le configurazioni esistenti del gateway dell'applicazione non definite nelle risorse Ingress di Kubernetes. Tutti i listener, i pool back-end, le regole o altre impostazioni configurate in precedenza nell'Application Gateway vengono rimosse o sostituite quando l'Application Gateway è abilitato. Prima di abilitare AGIC in un gateway applicazione esistente, eseguire il backup della configurazione del gateway applicazione esportando il modello dal portale di Azure. Per ulteriori informazioni, consultare Eseguire il backup della distribuzione del gateway applicativo.
Se è necessario che AGIC coesista con le configurazioni esistenti di Application Gateway, vedere Configurare una distribuzione condivisa di Application Gateway (solo Helm).
Differenza tra la distribuzione Helm e il componente aggiuntivo AKS di Azure Kubernetes Service.
Puoi distribuire AGIC per il cluster AKS utilizzando Helm o AKS come add-on. Il vantaggio principale della distribuzione dell'AGIC come componente aggiuntivo del servizio Azure Kubernetes è che è più semplice rispetto alla distribuzione tramite Helm. Per una nuova configurazione, è possibile distribuire un nuovo gateway dell'applicazione e un nuovo cluster di Azure Kubernetes Service con AGIC abilitato come componente aggiuntivo, con un solo comando nella CLI di Azure. Il componente aggiuntivo è anche un servizio completamente gestito, che offre vantaggi aggiuntivi, ad esempio aggiornamenti automatici e maggiore supporto. Entrambi i metodi di distribuzione dell'AGIC (Helm e il componente aggiuntivo per il servizio Azure Kubernetes) sono completamente supportati da Microsoft. Inoltre, il componente aggiuntivo consente una migliore integrazione con AKS in qualità di add-on di prima classe.
Sebbene si distribuisca il componente aggiuntivo AGIC come pod nel cluster del servizio Azure Kubernetes (AKS), esistono alcune differenze tra la versione distribuita con Helm e la versione del componente aggiuntivo di AGIC. L'elenco seguente evidenzia le differenze:
- Non è possibile modificare i valori di distribuzione di Helm nell'add-on di Azure Kubernetes Service (AKS).
-
Per impostazione predefinita,
verbosityLevelè impostato su 5 -
usePrivateIpè impostato su false per impostazione predefinita; sovrascrivi questa impostazione usando l'annotazione use-private-ip -
sharednon è supportato in nel componente aggiuntivo -
reconcilePeriodSecondsnon è supportato in nel componente aggiuntivo -
armAuth.typenon è supportato in nel componente aggiuntivo
-
Per impostazione predefinita,
- Il controller AGIC distribuito tramite Helm supporta ProhibitedTargets, il che significa che tale controller può configurare il gateway applicazione in modo specifico per i cluster del servizio Azure Kubernetes, senza influire su altri back-end esistenti. Il componente aggiuntivo AGIC al momento non supporta questa funzionalità.
- Poiché il componente aggiuntivo AGIC è un servizio gestito, si ricevono automaticamente gli aggiornamenti alla versione più recente del componente aggiuntivo AGIC. Al contrario, quando si distribuisce AGIC tramite Helm, è necessario aggiornare manualmente AGIC.
Note
È possibile distribuire un solo componente aggiuntivo AGIC per ogni cluster AKS e ogni componente aggiuntivo AGIC attualmente può avere come destinazione solo un Gateway Applicazione. Per le distribuzioni che richiedono più controller AGIC per cluster o più controller AGIC per uno stesso gateway applicazione, usare la distribuzione tramite Helm.
Sia il componente aggiuntivo Helm che il componente aggiuntivo AGIC non supportano il servizio ExternalName.
Container networking e AGIC
Il controller Ingress di Application Gateway supporta le seguenti offerte di rete di AKS:
- Kubenet
- CNI
- Sovrimpressione di CNI
Azure CNI e Azure CNI Overlay sono le due opzioni consigliate per l'Ingress Controller di Application Gateway. Quando si sceglie un modello di rete, considerare i casi d'uso per ogni plug-in CNI e il tipo di modello di rete usato:
| Plug-in CNI | Modello di rete | Evidenziazioni dei casi d'uso |
|---|---|---|
| Azure CNI Overlay | Sovrapposizione | - Ideale per la conservazione ip della rete virtuale - Numero massimo di nodi supportato dal server API + 250 pod per nodo - Configurazione più semplice -Nessun accesso IP diretto al pod esterno |
| Subnet Pod di Azure CNI | Appartamento | - Accesso diretto al pod esterno - Modalità per un utilizzo efficiente degli indirizzi IP della rete virtuale o supporto su larga scala del cluster |
| Azure subnet del nodo CNI | Appartamento | - Accesso diretto al pod esterno - Configurazione più semplice - Scalabilità limitata - Uso inefficiente degli indirizzi IP di rete virtuale |
Quando si effettua il provisioning dell'Application Gateway per i Contenitori in un cluster con CNI Overlay o CNI abilitato, l'Application Gateway per i Contenitori rileva automaticamente la configurazione di rete desiderata. Non è necessario modificare la configurazione dell'API Gateway o Ingress per specificare CNI Overlay o CNI.
Quando si usa Azure overlay CNI, considerare le limitazioni seguenti:
- Controller AGIC: è necessario eseguire la versione 1.9.1 o successiva per sfruttare l'overlay CNI.
- Dimensioni subnet: la subnet del gateway applicazione deve essere un prefisso massimo di /24; è supportata una sola distribuzione per subnet.
- Delega subnet: la subnet del Gateway di applicazione deve avere la delega della subnet per Microsoft.Network/applicationGateways.
- Peering della rete virtuale regionale: non è possibile distribuire Application Gateway in una rete virtuale in una regione e i nodi del cluster AKS in una rete virtuale nella stessa regione.
- Peering di rete virtuale globale: non è possibile distribuire l'Application Gateway in una rete virtuale in una regione e i nodi del cluster dell'Azure Kubernetes Service (AKS) in una rete virtuale in una regione diversa.
- Azure CNI Overlay con Application Gateway Ingress Controller non è supportato nella cloud Azure Government o in Microsoft Azure, gestita da 21Vianet (Azure in Cina).
Note
Il controller in ingresso del gateway applicazione rileva automaticamente l'aggiornamento del cluster del servizio Azure Kubernetes da Kubenet o CNI a Sovrimpressione CNI. Pianificare l'aggiornamento durante una finestra di manutenzione perché può verificarsi un'interruzione del traffico. Il controller potrebbe richiedere alcuni minuti a seguito dell'aggiornamento del cluster per rilevare e configurare il supporto CNI Overlay.
Avvertimento
Assicurarsi che la sottorete del gateway applicativo sia una sottorete /24 o più piccola prima dell'aggiornamento. L'aggiornamento da CNI a CNI Overlay con una subnet più grande ,ad esempio /23, comporta un'interruzione e richiede di ricreare la subnet del gateway applicazione con una dimensione di subnet supportata.
Passaggi successivi
- Distribuzione del componente aggiuntivo Greenfield del servizio Azure Kubernetes: istruzioni sull'installazione del componente aggiuntivo AGIC, del servizio Azure Kubernetes e del gateway applicazione in una nuova infrastruttura.
- Distribuzione del componente aggiuntivo Brownfield del servizio Azure Kubernetes: installare il componente aggiuntivo AGIC in un cluster del servizio Azure Kubernetes con un gateway applicazione esistente.
- Distribuzione Greenfield di Helm: installare il componente AGIC tramite Helm, il nuovo cluster del servizio Azure Kubernetes e il nuovo gateway applicazione in una nuova infrastruttura.
- Distribuzione Brownfield di Helm: distribuire il componente AGIC tramite Helm in un cluster del servizio Azure Kubernetes e in un gateway applicazione esistente.