L'ingresso nel servizio Azure Kubernetes è una risorsa Kubernetes che gestisce l'accesso al traffico esterno di tipo HTTP ai servizi all'interno di un cluster. Un ingresso del servizio Azure Kubernetes può fornire servizi come bilanciamento del carico, terminazione SSL e hosting virtuale basato sul nome. Per altre informazioni sull'ingresso Kubernetes, vedere la documentazione di ingresso di Kubernetes.
Controller in ingresso
Quando si gestisce il traffico dell'applicazione, i controller in ingresso offrono funzionalità avanzate operando al livello 7. Possono instradare il traffico HTTP ad applicazioni diverse in base all'URL in ingresso, consentendo regole di distribuzione del traffico più intelligenti e flessibili. Ad esempio, un controller in ingresso può indirizzare il traffico a microservizi diversi a seconda del percorso URL, migliorando l'efficienza e l'organizzazione dei servizi.
D'altra parte, un servizio di tipo LoadBalancer, quando creato, configura una risorsa di bilanciamento del carico di Azure sottostante. Questo servizio di bilanciamento del carico funziona al livello 4, distribuendo il traffico ai pod nel servizio su una porta specificata. Tuttavia, i servizi di livello 4 non sono a conoscenza delle applicazioni effettive e non possono implementare questi tipi di regole di routing complesse.
Comprendere la distinzione tra questi due approcci consente di selezionare lo strumento appropriato per le esigenze di gestione del traffico.
Confrontare le opzioni di ingresso
Nella tabella seguente sono elencate le differenze tra le diverse opzioni del controller in ingresso:
Integrazione DNS di Azure per la gestione della zona DNS
Sì
Sì
N/D
La tabella seguente elenca i diversi scenari in cui è possibile usare ogni controller di ingresso:
Opzione in ingresso
Utilizzo di
NGINX gestito - componente aggiuntivo per l'instradamento dell'applicazione
• Controller in ingresso NGINX ospitati, personalizzabili e scalabili. • Funzionalità di bilanciamento del carico e routing di base. • Configurazione del servizio di bilanciamento del carico interno ed esterno. • Configurazione dell'indirizzo IP statico. • Integrazione con Azure Key Vault per la gestione dei certificati. • Integrazione con zone DNS di Azure per la gestione di DND pubblico e privato. • Supporta l'API in ingresso.
Gateway applicativo per contenitori
• Gateway in ingresso ospitato in Azure. • Strategie di distribuzione flessibili gestite dal controller o dal Gateway applicativo per contenitori Bring Your Own. • Funzionalità avanzate di gestione del traffico, ad esempio tentativi automatici, resilienza della zona di disponibilità, autenticazione reciproca (mTLS) alla destinazione back-end, suddivisione del traffico/round robin ponderato e scalabilità automatica. • Integrazione con Azure Key Vault per la gestione dei certificati. • Integrazione con zone DNS di Azure per la gestione di DND pubblico e privato. • Supporto dell'API gateway e in ingresso.
Gateway in ingresso Istio
• In base a Envoy, quando si usa con Istio per una mesh di servizi. • Funzionalità avanzate di gestione del traffico, ad esempio la limitazione della frequenza e l'interruzione del circuito. • Supporto per mTLS
Nota
L'API gateway per il traffico in ingresso Istio non è ancora supportata per il componente aggiuntivo Istio, ma è attualmente in fase di sviluppo attivo.
Creare una risorsa in ingresso
Il componente aggiuntivo di routing dell'applicazione è il modo consigliato per configurare un controller di ingresso nel servizio Azure Kubernetes. Il componente aggiuntivo di routing dell'applicazione è un controller in ingresso completamente gestito per il servizio Azure Kubernetes che fornisce le funzionalità seguenti:
Configurazione semplice dei controller di ingresso NGINX gestiti basati sul controller di ingresso NGINX di Kubernetes.
Integrazione con DNS di Azure per la gestione delle zone pubbliche e private.
Terminazione SSL con certificati archiviati in Azure Key Vault.
Configurare il controller di ingresso per mantenere l'indirizzo IP di origine client nelle richieste ai contenitori nel cluster del servizio Azure Kubernetes. Quando il controller di ingresso instrada la richiesta di un client a un contenitore nel cluster AKS, l'IP di origine della richiesta non è disponibile per il contenitore di destinazione. Quando si abilita la conservazione dell’IP di origine client, l’IP di origine per il client è disponibile nell'intestazione della richiesta in X-Forwarded-For.
Se si usa la conservazione dell’IP di origine client nel controller di ingresso, non è possibile usare il pass-through TLS. La conservazione dell’IP di origine client e il pass-through TLS possono essere usati con altri servizi, ad esempio il tipo LoadBalancer.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
Feedback su Azure Kubernetes Service
Azure Kubernetes Service è un progetto di open source. Selezionare un collegamento per fornire feedback:
Illustrare la progettazione, l'implementazione e la manutenzione dell'infrastruttura di rete di Azure, il bilanciamento del carico del traffico, il routing di rete e altro ancora.