Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure CNI Overlay è un modello di rete per Servizio Azure Kubernetes (AKS) che fornisce una gestione efficiente degli indirizzi IP e una comunicazione pod ad alte prestazioni. Questo articolo offre una panoramica di Azure overlay CNI, tra cui l'architettura, la pianificazione degli indirizzi IP e le differenze rispetto al modello di rete kubenet tradizionale.
Funzionamento Azure rete di sovrimpressione CNI
Il modello CNI (Container Networking Interface) flat Azure assegna un indirizzo IP di rete virtuale a ogni pod. Azure subnet pod CNI assegna indirizzi IP pod da una subnet separata riservata ai pod. Azure subnet del nodo CNI (legacy) assegna gli indirizzi IP pod dalla subnet del nodo. Queste opzioni di rete flat richiedono la pianificazione degli indirizzi IP della rete virtuale e potrebbero causare l'esaurimento degli indirizzi, che introduce difficoltà a ridimensionare i cluster man mano che le richieste dell'applicazione aumentano.
Nella rete di sovrapposizione, solo i nodi del cluster Kubernetes vengono assegnati indirizzi IP dalle subnet. I pod ricevono indirizzi IP da un intervallo CIDR (Classless Inter-Domain Routing) privato fornito al momento della creazione del cluster. A ogni nodo viene assegnato uno spazio indirizzi /24 ritagliato dallo stesso CIDR. I nodi aggiuntivi creati quando si aumenta il numero di istanze di un cluster ricevono automaticamente gli spazi indirizzi /24 dallo stesso CIDR. Azure CNI assegna indirizzi IP ai pod da questo spazio /24.
Viene creato un dominio di routing separato nello stack di rete Azure per lo spazio CIDR privato del pod. Questo dominio crea una rete di sovrapposizione per la comunicazione diretta tra pod. Non è necessario effettuare il provisioning di route personalizzate nella subnet del cluster o usare un metodo di incapsulamento per eseguire il tunneling del traffico tra i pod, che offre prestazioni di connettività tra i pod in parità con le macchine virtuali (VM) in una rete virtuale. I carichi di lavoro in esecuzione all'interno dei pod non sono nemmeno consapevoli che la manipolazione degli indirizzi di rete avviene.
La comunicazione con endpoint esterni al cluster, come le reti locali e le reti virtuali con peering, utilizza l'indirizzo IP del nodo tramite NAT (Network Address Translation). Azure CNI converte l'INDIRIZZO IP di origine (IP sovrapposto del pod) del traffico all'indirizzo IP primario della macchina virtuale del nodo. Questa conversione consente allo stack di rete Azure di instradare il traffico alla destinazione.
Gli endpoint esterni al cluster non possono connettersi direttamente a un pod. Per rendere raggiungibile un'applicazione, esporla tramite un servizio Kubernetes o un livello di routing dell'applicazione, ad esempio un servizio LoadBalancer o un controller di ingresso. Per altre informazioni, vedere Pianificare la rete delle applicazioni per il servizio Azure Kubernetes.
È possibile fornire connettività in uscita a Internet per i pod di sovrapposizione utilizzando un bilanciamento del carico standard o un gateway NAT gestito. È anche possibile controllare il traffico in uscita indirizzandolo a un firewall tramite route definite dall'utente nella subnet del cluster.
È possibile configurare la connettività in ingresso al cluster usando un controller di ingresso, ad esempio il gateway applicazione per contenitori, NGINX o il componente aggiuntivo di routing dell'applicazione.
Differenze tra kubenet e Azure overlay CNI
Come Azure CNI Overlay, kubenet assegna indirizzi IP ai pod da uno spazio indirizzi che è logicamente diverso dalla rete virtuale, ma ha scalabilità e altre limitazioni. La tabella seguente fornisce un confronto dettagliato tra kubenet e Azure overlay CNI:
Importante
A partire dal 31 marzo 2028, il servizio Azure Kubernetes non supporta più la rete kubenet. Per evitare interruzioni del servizio, eseguire l'aggiornamento alla rete di overlay CNI (Azure Container Networking Interface) prima della data di fine del supporto. Per altre informazioni su questa disattivazione, vedere la questione di disattivazione su GitHub e l'annuncio di disattivazione degli aggiornamenti di Azure. Per rimanere informati sugli annunci e sugli aggiornamenti, segui le note di rilascio di AKS.
| Zona | Overlay CNI di Azure | kubenet (legacy) |
|---|---|---|
| Numero massimo di nodi per cluster | 5.000 nodi | 400 nodi |
| Numero massimo di pod per nodo | 250 pod (110 numero massimo consigliato per i contenitori di Windows Server) | 250 pod |
| Configurazione di rete | Semplice: non sono necessarie configurazioni aggiuntive per la rete dei pod | Complesso: richiede tabelle di routing e rotte definite dall'utente nella subnet del cluster per il networking dei pod |
| Prestazioni della connettività dei pod | Prestazioni in parità con le macchine virtuali in una rete virtuale | L'hop aggiuntivo aumenta la latenza |
| Criteri di rete di Kubernetes | Azure CNI con tecnologia Cilium (scelta consigliata) o il piano dati Azure iptables con Calico o Azure Network Policy Manager (NPM) | Calicò |
| Piattaforme di sistema operativo supportate | Linux, Windows Server 2025, Windows Server 2022 | Solo Linux |
I valori massimi di nodo e pod per nodo sono limiti indipendenti. Non moltiplicarle per determinare la capacità di aggregazione supportata di un cluster. Quando si pianifica la scalabilità del cluster, esaminare le quote e i limiti del servizio AzureKubernetes e le indicazioni sulla scalabilità di cluster di grandi dimensioni. Il livello del piano di controllo, il comportamento del carico di lavoro e altri limiti del servizio influiscono sulla scalabilità ottenibile.
Azure CNI powered by Cilium fornisce un piano dati eBPF con applicazione predefinita dei criteri di rete Cilium. Con il piano dati Azure iptables, è possibile usare Calico o Azure NPM, ma Azure NPM non è più supportato nei nodi Windows a partire dal 30 settembre 2026 e il supporto nei nodi Linux termina il 30 settembre 2028. Per indicazioni aggiornate e indicazioni sulla migrazione, vedere Opzioni dei criteri di rete nel servizio Azure Kubernetes.
Annotazioni
Se non si vogliono assegnare indirizzi IP di rete virtuale ai pod a causa della carenza di indirizzi IP, è consigliabile usare Azure overlay CNI.
Pianificazione degli indirizzi IP
Le sezioni seguenti forniscono indicazioni su come pianificare lo spazio degli indirizzi IP per Azure overlay CNI.
Nodi del cluster
Quando si configura il cluster del servizio Azure Kubernetes di sovrimpressione CNI Azure, assicurarsi che le subnet della rete virtuale abbiano spazio sufficiente per il ridimensionamento futuro. È possibile assegnare ogni pool di nodi a una subnet dedicata. Una /24 subnet contiene 256 indirizzi IP. Azure riserva i primi quattro e gli ultimi indirizzi IP, lasciando 251 indirizzi utilizzabili. Quando si ridimensiona la subnet, riservare anche lo spazio degli indirizzi per le operazioni di aggiornamento e scalabilità e altre risorse nella subnet.
Pod
La dimensione /24 assegnata Azure overlay CNI è fissa e non può essere aumentata o ridotta. È possibile eseguire fino a 250 pod in un nodo. Quando si pianifica lo spazio degli indirizzi del pod, è importante assicurarsi che il segmento CIDR privato sia abbastanza ampio da fornire /24 spazi di indirizzi per i nuovi nodi, supportando così l'espansione futura del cluster.
Quando si pianifica lo spazio degli indirizzi IP per i pod, considerare i fattori seguenti:
- È possibile utilizzare lo stesso spazio CIDR per i pod su più cluster AKS indipendenti nella stessa rete virtuale.
- Lo spazio CIDR dei pod non deve sovrapporsi all'intervallo di subnet del cluster.
- Lo spazio CIDR dei pod non deve sovrapporsi alle reti connesse direttamente, ad esempio il peering di reti virtuali, le Azure ExpressRoute o la VPN. Se il traffico esterno ha indirizzi IP di origine nell'intervallo CIDR del pod, deve eseguire la conversione in un indirizzo IP non sovrapposto tramite SNAT (Source Network Address Translation) per comunicare con il cluster.
- In Azure cluster CNI Overlay solo con nodi Linux, è possibile espandere il CIDR del pod in un superset contiguo più grande che contiene l'intervallo originale. La compattazione o la sostituzione dell'intervallo non è supportata. L'espansione non è supportata anche per gli scenari di nodi ibridi o di Windows, CIDR pod IPv6 o più blocchi CIDR dei pod.
Intervallo di indirizzi del servizio Kubernetes
Le dimensioni dell'indirizzo del servizio CIDR dipendono dal numero di servizi cluster che si prevede di creare. Deve essere minore di /12. Questo intervallo non deve sovrapporsi all'intervallo CIDR del pod, all'intervallo di subnet del cluster e all'intervallo IP usato nelle reti virtuali con peering e nelle reti locali.
Annotazioni
A partire da Kubernetes 1.33, è possibile estendere l'intervallo IP del servizio dopo la creazione del cluster usando la ServiceCIDR risorsa Kubernetes. Per altre informazioni, vedere Estendere gli intervalli IP del servizio nella documentazione di Kubernetes.
Indirizzo IP del servizio Kubernetes per DNS
L'indirizzo IP per DNS si trova all'interno dell'intervallo di indirizzi del servizio Kubernetes usato dall'individuazione del servizio cluster. Non usare il primo indirizzo IP nell'intervallo di indirizzi, perché questo indirizzo viene usato per l'indirizzo kubernetes.default.svc.cluster.local .
Importante
I CIDR dei pod supportati possono usare lo spazio indirizzi privato RFC 1918 o lo spazio indirizzi condiviso RFC 6598 . Anche se Azure non blocca l'uso degli intervalli IP pubblici, non rientrano nell'ambito di supporto di Microsoft. Usare un intervallo non pubblico e non sovrapposto per il CIDR del pod.
Quando si usa Azure CNI in modalità overlay, assicurarsi che il CIDR del pod non si sovrapponga ad alcun indirizzo IP esterno o a reti (ad esempio reti locali, reti virtuali con peering o ExpressRoute). Se un host esterno usa un indirizzo IP all'interno del CIDR del pod, i pacchetti destinati a tale host dal pod potrebbero essere reindirizzati nella rete di overlay e instradati con SNAT dal nodo. Questa situazione fa sì che l'endpoint esterno diventi non raggiungibile.
Gruppi di sicurezza di rete
Il traffico da pod a pod con Azure CNI overlay non è incapsulato e vengono applicate le regole del gruppo di sicurezza di rete (NSG) della subnet. Se il gruppo di sicurezza di rete della subnet contiene regole di negazione che influiscono sul traffico CIDR del pod, assicurarsi che siano presenti le regole seguenti per garantire la funzionalità del cluster appropriata (oltre a tutti i requisiti in uscita del servizio Azure Kubernetes):
| Source | Destination | Porte e protocolli | Purpose |
|---|---|---|---|
| CIDR nodo | CIDR nodo | Tutte le porte e i protocolli | Comunicazione da nodo a nodo |
| CIDR nodo | CIDR pod | Tutte le porte e i protocolli | Routing del traffico del servizio |
| CIDR pod | CIDR pod | Tutte le porte e i protocolli | Traffico da pod a pod e da pod a servizio, incluso DNS |
Il traffico da un pod verso qualsiasi destinazione al di fuori del blocco CIDR del pod utilizza SNAT per impostare l'indirizzo IP sorgente all'indirizzo IP del nodo su cui viene eseguito il pod.
Se si vuole limitare il traffico tra carichi di lavoro nel cluster, è consigliabile usare i criteri di rete.
Numero massimo di pod per nodo
È possibile configurare il numero massimo di pod per nodo quando si crea il cluster o si aggiunge un nuovo pool di nodi.
| Setting | Valore |
|---|---|
| Impostazione predefinita | 250 |
| Massimo | 250 |
| Minimo | 10 |
Il valore per i pod massimi per nodo configurato durante la creazione di un pool di nodi si applica solo ai nodi nel pool di nodi.
Per Windows Server contenitori, il valore massimo consigliato è 110 pod per nodo. Questo valore operativo consigliato è inferiore a quello configurabile Azure CNI Overlay massimo di 250 pod per nodo. Per altre informazioni, vedere Quote e limiti del servizio Azure Kubernetes.
Scelta di un modello di rete
Usare la rete sovrapposta quando:
- Si desidera ridimensionare a un numero elevato di pod, ma si è limitati dallo spazio degli indirizzi IP nella rete virtuale.
- La maggior parte delle comunicazioni dei pod avviene all'interno del cluster.
- Non sono necessarie funzionalità AKS avanzate, ad esempio i nodi virtuali.
Usare la rete flat quando:
- È disponibile uno spazio indirizzi IP adeguato.
- La maggior parte delle comunicazioni dei pod è diretta verso risorse esterne al cluster.
- Le risorse esterne al cluster devono raggiungere direttamente i pod.
- Sono necessarie funzionalità AKS avanzate, ad esempio i nodi virtuali.
Azure CNI fornisce Azure overlay CNI per la rete sovrapposta e Azure subnet pod CNI o Azure subnet del nodo CNI (legacy) per la rete flat. Per un confronto dettagliato di queste opzioni di gestione degli indirizzi IP, vedere Pianificare la rete dei pod per il servizio Azure Kubernetes.
Limitazioni con Azure CNI Overlay
Azure CNI Overlay presenta le limitazioni seguenti:
- I set di disponibilità delle macchine virtuali non sono supportati.
- Non è possibile usare macchine virtuali serie DCsv2 nei pool di nodi. Per soddisfare i requisiti di computing riservato, prendere in considerazione l'uso di macchine virtuali riservate serie DCasv5 o DCadsv5.
- Se si usa la propria subnet per distribuire il cluster, i nomi della subnet, della rete virtuale e del gruppo di risorse che contiene la rete virtuale devono essere di massimo 63 caratteri. Questi nomi vengono usati come etichette nei nodi worker di AKS, quindi sono soggetti alle regole di sintassi di Kubernetes per le etichette.
Contenuti correlati
Per iniziare a usare Azure CNI Overlay in AKS, vedere gli articoli seguenti: