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.

Nota

Puoi usare la tua [tabella di route][byo-route-table] con la route definita dall'utente e la rete kubenet. Assicurati che l'identità del tuo cluster (entità servizio o identità gestita) disponga delle autorizzazioni di Collaboratore per la tabella di route personalizzata.

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.

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
loadBalancer N/D Supportato Non supportato Non supportato
managedNATGateway Supportato N/D Non supportato Non supportato
userAssignedNATGateway Non supportato Non supportato N/D Non supportato

Percorsi di migrazione supportati per la rete virtuale BYO

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

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