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 convm-set-type
impostato suVirtualMachineScaleSets
eload-balancer-sku
impostato suStandard
.
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.
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
- Aggiungi route
0.0.0.0/0
alla tabella di route predefinita. Fai riferimento a Personalizza l'uscita del cluster con una tabella di routing definita dall'utente nel servizio Azure Kubernetes (AKS)
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userDefinedRouting
Aggiorna il cluster da loadbalancer a userAssignedNATGateway nello scenario di rete virtuale BYO
- Associa il gateway NAT alla subnet a cui è associato il carico di lavoro. Fare riferimento a Creare un gateway NAT gestito o assegnato dall'utente
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway
Passaggi successivi
- Configurare il bilanciamento del carico standard in un cluster del servizio Azure Kubernetes
- Configurare il gateway NAT in un cluster del servizio Azure Kubernetes
- Configurare il routing definito dall'utente in un cluster del servizio Azure Kubernetes
- Documentazione del gateway NAT di Azure
- Panoramica delle UDR di networking di Azure
- Gestire le tabelle di route
Azure Kubernetes Service