Condividi tramite


Personalizzare l'uscita del cluster con i tipi in uscita nel servizio Azure Kubernetes (AKS)

Puoi personalizzare l'uscita per un cluster AKS in base a scenari specifici. Per impostazione predefinita, il servizio Azure Kubernetes effettua il provisioning del bilanciamento del carico di uno SKU standard, che verrà configurato e usato per l'uscita come opzione predefinita. La configurazione predefinita potrebbe, però, non soddisfare i requisiti di tutti gli scenari se gli indirizzi IP pubblici non sono consentiti o se per l'uscita sono necessari hop aggiuntivi.

Questo articolo mostra i vari tipi di connettività in uscita disponibili nei cluster AKS.

Nota

Ora puoi aggiornare il outboundType dopo la creazione del cluster.

Importante

Nei cluster non privati il traffico del cluster del server API viene instradato ed elaborato tramite il tipo in uscita dei cluster. Per evitare che il traffico del server API venga elaborato come traffico pubblico, prendere in considerazione l'uso di un cluster privato o consultare la funzionalità Integrazione rete virtuale del server API.

Limiti

  • Per impostare outboundType, sono necessari cluster del servizio Azure Kubernetes con vm-set-type impostato su VirtualMachineScaleSets e load-balancer-sku impostato su Standard.

Tipi in uscita nel servizio Azure Kubernetes

Puoi configurare un cluster del servizio Azure Kubernetes usando i tipi in uscita seguenti: bilanciamento del carico, gateway NAT o routing definito dall'utente. Il tipo in uscita influisce solo sul traffico in uscita del cluster. Per ulteriori informazioni, vedere Configurazione dei controller in ingresso.

Tipo in uscita di loadBalancer

Il bilanciamento del carico viene usato per l'uscita tramite un indirizzo IP pubblico assegnato dal servizio Azure Kubernetes. Il tipo in uscita loadBalancer supporta i servizi Kubernetes di tipo loadBalancer, che prevedono l'uscita dal bilanciamento del carico creato dal provider di risorse del servizio Azure Kubernetes.

Se loadBalancer è impostato, il servizio Azure Kubernetes completa automaticamente la configurazione seguente:

  • Viene effettuato il provisioning di un indirizzo IP pubblico per l'uscita del cluster.
  • L'indirizzo IP pubblico viene assegnato alla risorsa del bilanciamento del carico.
  • Per i nodi agente nel cluster vengono impostati pool back-end per il bilanciamento del carico.

Diagramma che mostra l'IP in ingresso e l'IP in uscita, in cui l'IP in ingresso indirizza il traffico a un bilanciamento del carico, che indirizza a sua volta il traffico a e da un cluster interno e altro traffico all'IP in uscita, che indirizza il traffico a Internet, MCR, servizi richiesti di Azure e piano di controllo del servizio Azure Kunernetes.

Per ulteriori informazioni, vedi Usare un bilanciamento del carico standard nel servizio Azure Kubernetes.

Tipo in uscita di managedNatGateway o userAssignedNatGateway

Se managedNatGateway o userAssignedNatGateway sono selezionati per outboundType, il servizio Azure Kubernetes si basa sul gateway NAT di rete di Azure per l'uscita del cluster.

  • Seleziona managedNatGateway quando usi le reti virtuali gestite. Il servizio Azure Kubernetes effettua il provisioning di un gateway NAT e lo collega alla subnet del cluster.
  • Seleziona userAssignedNatGateway quando usi la rete virtuale bring-your-own. Questa opzione richiede che tu abbia effettuato il provisioning di un gateway NAT prima della creazione del cluster.

Per ulteriori informazioni, vedi Gateway NAT gestito con servizio Azure Kubernetes.

Tipo in uscita di userDefinedRouting

Nota

Il tipo in uscita userDefinedRouting rappresenta uno scenario di rete avanzato e richiede una configurazione di rete appropriata.

Se userDefinedRouting è impostato, il servizio Azure Kubernetes non configurerà automaticamente i percorsi in uscita. La configurazione in uscita deve essere eseguita da te.

Devi distribuire il cluster del servizio Azure Kubernetes in una rete virtuale esistente con una subnet configurata in precedenza. Poiché non stai usando un'architettura Load Balancer standard, devi indicare l'uscita in modo esplicito. Questa architettura richiede l'invio esplicito del traffico in uscita a un'appliance, ad esempio un firewall, un gateway, un proxy, oppure la gestione di NAT da un indirizzo IP pubblico assegnato al servizio di bilanciamento del carico standard o all'appliance.

Per ulteriori informazioni, vedi Configurazione dell'uscita del cluster tramite il routing definito dall'utente.

Tipo in uscita di none (anteprima)

Importante

Il none tipo in uscita richiede un'attenta pianificazione per garantire che il cluster funzioni come previsto senza dipendenze impreviste nei servizi esterni. Per i cluster completamente isolati, vedere Considerazioni sul cluster isolato.

Se none è impostato, il servizio Azure Kubernetes non configurerà automaticamente i percorsi in uscita. Questa opzione è simile a userDefinedRouting ma non richiede una route predefinita come parte della convalida.

Il none tipo in uscita è supportato in scenari di rete virtuale BYO (Bring Your Own) e in scenari di rete virtuale gestita. Tuttavia, è necessario assicurarsi che il cluster del servizio Azure Kubernetes venga distribuito in un ambiente di rete in cui vengono definiti percorsi in uscita espliciti, se necessario. Per gli scenari di rete virtuale BYO, il cluster deve essere distribuito in una rete virtuale esistente con una subnet configurata in precedenza. Poiché il servizio Azure Kubernetes non esegue il provisioning di un servizio di bilanciamento del carico standard o di un'infrastruttura in uscita, è necessario stabilire percorsi in uscita espliciti, se necessario. Ciò può includere il routing del traffico a un firewall, un proxy, un gateway o altre configurazioni di rete personalizzate.

Tipo in uscita di block (anteprima)

Importante

Il block tipo in uscita richiede un'attenta pianificazione per garantire che non esistano dipendenze di rete non intenzionali. Per i cluster completamente isolati, vedere Considerazioni sul cluster isolato.

Se block è impostato, il servizio Azure Kubernetes configurerà le regole di rete per bloccare attivamente tutto il traffico in uscita dal cluster. Questa opzione è utile per ambienti altamente sicuri in cui la connettività in uscita deve essere limitata.

Quando si usa block:

  • Il servizio Azure Kubernetes garantisce che nessun traffico Internet pubblico possa lasciare il cluster tramite regole del gruppo di sicurezza di rete. Il traffico della rete virtuale non è interessato.
  • È necessario consentire in modo esplicito qualsiasi traffico in uscita necessario tramite configurazioni di rete aggiuntive.

L'opzione block offre un livello aggiuntivo di isolamento della rete, ma richiede un'attenta pianificazione per evitare l'interruzione di carichi di lavoro o dipendenze.

Aggiornare outboundType dopo la creazione del cluster

La modifica del tipo in uscita dopo la creazione del cluster distribuirà o rimuoverà le risorse come richiesto per inserire il cluster nella nuova configurazione in uscita.

Le tabelle seguenti mostrano i percorsi di migrazione supportati tra i tipi in uscita per le reti virtuali gestite e BYO.

Percorsi di migrazione supportati per la rete virtuale gestita

Ogni riga indica se è possibile eseguire la migrazione del tipo in uscita ai tipi elencati nella parte superiore. "Supportato" indica che la migrazione è possibile, mentre "Non supportato" o "N/A" significa che non è.

Da|A loadBalancer managedNATGateway userAssignedNATGateway userDefinedRouting none block
loadBalancer N/D Supportato Non supportato Non supportato Supportata Supportato
managedNATGateway Supportata N/D Non supportato Non supportato Supportata Supportato
userAssignedNATGateway Non supportato Non supportato N/D Non supportato Non supportato Non supportato
none Supportata Supportato Non supportato Non supportato N/D Supportato
block Supportato Supportato Non supportato Non supportato Supportato N/D

Percorsi di migrazione supportati per la rete virtuale BYO

Da|A loadBalancer managedNATGateway userAssignedNATGateway userDefinedRouting none block
loadBalancer N/D Non supportato Supportata Supportato Supportato Non supportato
managedNATGateway Non supportato N/D Non supportato Non supportato Non supportato Non supportato
userAssignedNATGateway Supportato Non supportato N/D Supportato Supportato Non supportato
userDefinedRouting Supportato Non supportato Supportato N/D Supportato Non supportato
none Supportato Non supportato Supportata Supportata N/D Non supportato

La migrazione è supportata solo tra loadBalancer, managedNATGateway (se si usa una rete virtuale gestita) userAssignedNATGateway e userDefinedRouting (se si usa una rete virtuale personalizzata).

Avviso

La migrazione del tipo in uscita ai tipi gestiti dall'utente (userAssignedNATGateway e userDefinedRouting) modificherà gli indirizzi IP pubblici in uscita del cluster. Se Authorized IP ranges (Intervalli IP autorizzati) è abilitato, assicurati che venga aggiunto un nuovo intervallo IP in uscita all'intervallo IP autorizzato.

Avviso

Modificare il tipo in uscita in un cluster causa un'interruzione della connettività di rete e comporterà una modifica dell'indirizzo IP in uscita del cluster. Se sono state configurate regole del firewall per limitare il traffico dal cluster, devi aggiornarle in modo che corrispondano al nuovo indirizzo IP in uscita.

Aggiorna il cluster per usare un nuovo tipo in uscita

Nota

Per eseguire la migrazione del tipo in uscita, devi usare una versione >= 2.56 dell'interfaccia della riga di comando di Azure. Usa az upgrade per eseguire l'aggiornamento alla versione più recente dell'interfaccia della riga di comando di Azure.

  • Aggiorna la configurazione in uscita del tuo cluster usando il comando az aks update.

Aggiorna il cluster da loadbalancer a managedNATGateway

az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type managedNATGateway --nat-gateway-managed-outbound-ip-count <number of managed outbound ip>

Aggiorna il cluster da managedNATGateway a loadbalancer

az aks update --resource-group <resourceGroup> --name <clusterName> \
--outbound-type loadBalancer \
<--load-balancer-managed-outbound-ip-count <number of managed outbound ip>| --load-balancer-outbound-ips <outbound ip ids> | --load-balancer-outbound-ip-prefixes <outbound ip prefix ids> >

Avviso

Non riutilizzare un indirizzo IP già in uso nelle configurazioni in uscita precedenti.

Aggiorna il cluster da managedNATGateway a userDefinedRouting

az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userDefinedRouting

Aggiorna il cluster da loadbalancer a userAssignedNATGateway nello scenario di rete virtuale BYO

az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway

Passaggi successivi