Identificare le opzioni dei plug-in

Completato

Un plug-in di rete è richiesto da un cluster del servizio Azure Kubernetes per facilitare la comunicazione da pod a pod, la comunicazione da pod a nodo e, in alcuni casi, la comunicazione da nodo a pod. Sono disponibili due modelli di rete nel servizio Azure Kubernetes: kubenet e Azure CNI. Sono disponibili altre evoluzioni di Azure CNI, tra cui Azure CNI Overlay, Azure CNI per l'allocazione IP dinamica e Azure CNI con tecnologia Cilium. Ciascuno di questi modelli ha un proprio set di funzionalità e limitazioni.

kubenet

Per impostazione predefinita, i cluster del servizio Azure Kubernetes usano kubenet. Con kubenet, viene creata automaticamente una tabella di rete virtuale, una subnet e una route di Azure quando viene distribuito il cluster, ma è possibile fornire risorse di rete esistenti. Con kubenet:

  • I nodi ricevono un indirizzo IP dalla subnet della rete virtuale di Azure.
  • I pod ricevono un indirizzo IP da uno spazio indirizzi logicamente diverso per la subnet della rete virtuale di Azure dei nodi.
  • Viene poi configurato il protocollo NAT (Network Address Translation) in modo che i pod possano raggiungere le risorse nella rete virtuale di Azure.
  • L'indirizzo IP di origine del traffico viene traslato nell'indirizzo IP primario del nodo.

I pod non possono comunicare tra loro direttamente. Per la connettività tra i pod nei vari nodi vengono usati il routing definito dall'utente e l'inoltro di indirizzi IP. Per impostazione predefinita, le route definite dall'utente e la configurazione dell'inoltro IP vengono create e gestite dal servizio Azure Kubernetes, ma è possibile usare una tabella di route personalizzata per la gestione personalizzata delle route.

Se la subnet personalizzata non contiene una tabella di route, il servizio Azure Kubernetes ne crea una per l'utente e aggiunge regole all'intero ciclo di vita del cluster. Se la subnet personalizzata contiene una tabella di route quando si crea il cluster, il servizio Azure Kubernetes riconosce la tabella di route esistente durante le operazioni del cluster e aggiunge/aggiorna le regole di conseguenza per le operazioni del provider cloud.

Diagramma del modello di rete kubenet con un cluster del servizio Azure Kubernetes. Vengono visualizzati due nodi usando kubenet per instradare/NAT il traffico sulla subnet del nodo della rete virtuale.

Azure CNI

Il plug-in Azure CNI è un'opzione di rete più complessa con una configurazione più elevata e funzionalità più supportate. Con Azure CNI, sono necessarie una subnet preesistente e una rete virtuale per utilizzare i cluster con la rete Azure CNI, il che richiede una pianificazione aggiuntiva. Le dimensioni della rete virtuale e della subnet devono essere sufficienti sia per il numero di pod che si prevede di eseguire che per il numero di nodi per il cluster. Con Azure CNI:

  • I nodi ricevono uno spazio degli indirizzi IP dalla subnet di rete virtuale di Microsoft Azure.
  • Ogni pod riceve un indirizzo IP nella subnet del pool di nodi e può comunicare direttamente con altri pod e servizi.
  • I cluster possono avere le stesse dimensioni dell'intervallo di indirizzi IP specificato. Questo intervallo deve però essere pianificato in anticipo e tutti gli indirizzi IP vengono utilizzati dai nodi del servizio Azure Kubernetes in base al numero massimo di pod che possono supportare.

Con Azure CNI, sono necessarie una subnet preesistente e una rete virtuale per usare il plug-in di rete CNI di Azure. Questa subnet e questa rete virtuale possono essere create durante la creazione del cluster del servizio Azure Kubernetes.

Diagramma del modello di rete Azure CNI. I pod vengono visualizzati comunicando tramite un ponte. Ogni pod ha un indirizzo IP univoco assegnato dalla subnet del nodo della rete virtuale.

Sovrimpressione di Azure CNI

Azure CNI Overlay rappresenta un'evoluzione di Azure CNI, risolvendo i problemi di scalabilità e di pianificazione derivanti dall'assegnazione di indirizzi IP di rete virtuale ai pod. Azure CNI Overlay assegna indirizzi IP privati CIDR ai pod. Gli indirizzi IP privati sono separati dalla rete virtuale e possono essere riutilizzati in più cluster. Azure CNI Overlay può superare il limite di 400 nodi applicato nei cluster Kubenet. Azure CNI Overlay è l'opzione consigliata per la maggior parte dei cluster.

Azure CNI con tecnologia Cilium

Azure CNI con tecnologia Cilium sfrutta Cilium per fornire funzionalità di rete ad alte prestazioni, osservabilità e applicazione dei criteri di rete. Si integra in modo nativo con Azure CNI Overlay per la gestione indirizzi IP scalabili.

Inoltre, Cilium applica i criteri di rete per impostazione predefinita, senza richiedere un motore dei criteri di rete separato. Azure CNI con tecnologia Cilium può essere ridimensionato oltre i limiti di Azure Network Policy Manager di 250 nodi/pod da 20 K, utilizzando programmi ePBF e una struttura a oggetti API più efficiente.

Azure CNI con tecnologia Cilium è l'opzione consigliata per i cluster che richiedono l'applicazione dei criteri di rete.

Usare un plug-in personalizzato

Per i clienti che prevedono di usare una configurazione di rete personalizzata, non sono previsti requisiti per i plug-in di rete. È possibile scegliere tra provider CNI come Cilium o Flannel. Tuttavia, è consigliabile rivolgersi alla propria documentazione perché non è coperta da Microsoft.