Personalizzare l'uscita del cluster con una tabella di routing definita dall'utente nel servizio Azure Kubernetes (AKS)

È possibile personalizzare l'uscita per i cluster del servizio Azure Kubernetes (AKS) per specifici scenari. Per impostazione predefinita, il servizio Azure Kubernetes effettua il provisioning di un Standard servizio di bilanciamento del carico SKU in uscita. Tuttavia, la configurazione predefinita potrebbe non soddisfare i requisiti di tutti gli scenari se gli indirizzi IP pubblici non sono consentiti o se l'uscita necessita di hop aggiuntivi.

Questo articolo illustra come personalizzare la route in uscita di un cluster per supportare scenari di rete personalizzati. Questi scenari includono casi in cui indirizzi IP pubblici non sono consentiti e il cluster deve trovarsi dietro un’appliance virtuale di rete (NVA).

Prerequisiti

  • Interfaccia della riga di comando di Azure versione 2.0.81 o successive. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
  • Versione API 2020-01-01 o successive.

Requisiti e limitazioni

L'uso di un tipo in uscita rappresenta uno scenario di rete avanzato e richiede una configurazione di rete appropriata. I seguenti requisiti e limitazioni si applicano al tipo di uscita in uso:

  • Per impostare outboundType, sono necessari cluster del servizio Azure Kubernetes con un vm-set-type di VirtualMachineScaleSets e un load-balancer-sku di Standard.
  • Per impostare outboundType sul valore UDR, è necessaria una route definita dall'utente con connettività in uscita valida per il cluster.
  • L'impostazione di outboundType sul valore UDR implica che l'indirizzo IP di origine in ingresso indirizzato al servizio di bilanciamento del carico potrebbe non corrispondere all'indirizzo di destinazione in uscita del cluster.

Panoramica della personalizzazione dell'uscita con una tabella di routing definita dall'utente

Se userDefinedRouting è impostato, il servizio Azure Kubernetes non configura automaticamente i percorsi in uscita, ed è quindi necessario configurare l'uscita.

Quando si usa l'architettura Load Balancer Standard (SLB), è necessario indicare l'uscita in modo esplicito. È necessario distribuire il cluster del servizio Azure Kubernetes in una rete virtuale esistente con una subnet configurata in precedenza. Questa architettura richiede che il traffico in uscita sia inviato esplicitamente a un'appliance, come un firewall, un gateway o un proxy, in modo che un indirizzo IP pubblico assegnato al servizio di bilanciamento del carico standard o all'appliance possa gestire Network Address Translation (NAT).

Creazione del servizio di bilanciamento del carico con userDefinedRouting

I cluster del servizio Azure Kubernetes con un tipo di UDR in uscita ottengono un servizio di bilanciamento del carico standard solo quando il primo servizio Kubernetes di tipo loadBalancer viene distribuito. Il servizio di bilanciamento del carico è configurato con un indirizzo IP pubblico per richieste in ingresso e un pool back-end per richiestein ingresso. Il provider di servizi cloud di Azure configura le regole in ingresso, ma non configura l'indirizzo IP pubblico in uscita o le regole in uscita. L‘UDR è l'unica origine per il traffico in uscita.

Nota

I servizi di bilanciamento del carico di Azure non comportano un addebito fino a quando non viene inserita una regola.

Distribuire un cluster con tipo di uscita con route definita dall'utente e Firewall di Azure

Per visualizzare un'applicazione di un cluster di tipo in uscita usando una route definita dall'utente, consultare questo esempio sulla limitazione del traffico in uscita con il firewall di Azure.

Importante

Il tipo di UDR in uscita richiede una route per 0.0.0.0/0 e una destinazione hop successiva dell'appliance virtuale di rete nella tabella di route. La tabella di route ha già un valore predefinito 0.0.0.0/0 per Internet. Senza un indirizzo IP pubblico per Azure da usare per SNAT (Source Network Address Translation), l'aggiunta di questa route non fornirà connettività Internet in uscita. Il servizio Azure Kubernetes convalida che non si crei una route 0.0.0.0/0 diretta a Internet, ma a un gateway, un'appliance virtuale di rete e così via. Quando si usa un tipo di UDR in uscita, non viene creato un indirizzo IP pubblico del servizio di bilanciamento del carico per richieste in ingresso a meno che non si configuri un servizio di tipo bilanciamento del carico. Il servizio Azure Kubernetes non crea mai un indirizzo IP pubblico per le richieste in uscita se si imposta un tipo di UDR in uscita.

Passaggi successivi

Per ulteriori informazioni sulle route definite dall'utente e sul networking di Azure, consultare: