Condividi tramite


Pianificazione degli indirizzi IP per i cluster di servizio Azure Kubernetes (servizio Azure Kubernetes)

Questo articolo fornisce indicazioni sulla pianificazione degli indirizzi IP per i cluster servizio Azure Kubernetes (servizio Azure Kubernetes).

Per indicazioni specifiche sulla pianificazione degli indirizzi IP per le singole opzioni CNI, vedere la sezione passaggi successivi per i collegamenti alla documentazione del plug-in.

Ridimensionamento della subnet

La subnet della rete virtuale di Azure deve essere sufficientemente grande per supportare il cluster, a seconda che si usi una rete sovrapposta o una rete flat.

Reti sovrapposte

Con le reti sovrapposte, ad esempio Azure CNI Overlay, la subnet deve essere sufficientemente grande da assegnare indirizzi IP ai nodi. I pod vengono assegnati indirizzi IP da un intervallo CIDR separato e privato e non richiedono indirizzi IP di rete virtuale. La subnet della rete virtuale usata per il cluster può essere inferiore a quella delle reti flat.

È importante assicurarsi di allocare spazio sufficiente nell'intervallo CIDR privato per tenere conto del ridimensionamento dei pod. Quando si pianificano le dimensioni dell'intervallo di indirizzi IP, è necessario calcolare il numero massimo di pod. A ogni nodo del cluster viene assegnata una subnet /24 (256 indirizzi IP) per i pod. È consigliabile pianificare la subnet di rete di sovrimpressione in modo da contenere il numero massimo di nodi che si prevede di eseguire.

Reti flat

Le reti flat, ad esempio la subnet pod di Azure CNI, richiedono una subnet sufficientemente grande per contenere sia nodi che pod. Poiché i nodi e i pod ricevono indirizzi IP dalla rete virtuale, è necessario pianificare il numero massimo di nodi e pod che si prevede di eseguire. La subnet pod di Azure CNI usa una subnet per i nodi e una subnet separata per i pod, quindi è necessario pianificare entrambi.

Dimensionamento degli indirizzi IP

Considerazioni sull'aggiornamento e la scalabilità

Quando si pianifica l'indirizzo IP per il cluster del servizio Azure Kubernetes, è necessario considerare il numero di indirizzi IP necessari per le operazioni di aggiornamento e ridimensionamento. Se si imposta l'intervallo di indirizzi IP per supportare solo un numero fisso di nodi, non sarà possibile aggiornare o ridimensionare il cluster.

Quando si aggiorna il cluster del servizio Azure Kubernetes, viene distribuito un nuovo nodo nel cluster. Viene avviata l'esecuzione di servizi e carichi di lavoro nel nuovo nodo e il nodo precedente viene rimosso dal cluster. Questo processo di aggiornamento in sequenza richiede la disponibilità di almeno un altro blocco di indirizzi IP. Il numero di nodi è quindi n + 1 dove n è il numero di nodi nel cluster.

Quando si ridimensiona un cluster del servizio Azure Kubernetes, viene distribuito un nuovo nodo nel cluster. Viene avviata l'esecuzione di servizi e carichi di lavoro nel nuovo nodo. L'intervallo di indirizzi IP deve prendere in considerazione il modo in cui si vuole aumentare il numero di nodi e pod supportati dal cluster. È necessario includere anche un nodo aggiuntivo per le operazioni di aggiornamento. Il numero di nodi risulta quindi pari a n + number-of-additional-scaled-nodes-you-anticipate + max surge.

Se si usa la subnet pod di Azure CNI e si prevede che i nodi eseguano il numero massimo di pod e si eseguano regolarmente l'eliminazione e la distribuzione di pod, è necessario considerare anche gli indirizzi IP aggiuntivi per ogni nodo. Può essere necessaria una latenza di pochi secondi per eliminare un servizio e rilasciare il relativo indirizzo IP per la distribuzione e l'acquisizione dell'indirizzo di un nuovo servizio. L'account degli indirizzi IP aggiuntivi per questa possibilità.

Il piano di indirizzo IP per un cluster servizio Azure Kubernetes è costituito da una rete virtuale, almeno una subnet per i nodi e i pod e un intervallo di indirizzi per il servizio Kubernetes.

Risorsa di Azure Intervallo di indirizzi Limiti e dimensionamento
Rete virtuale di Azure Dimensione massima /8. 65.536 limiti di indirizzi IP configurati. Per un'eccezione, vedere Allocazione statica della subnet pod di Azure CNI Gli spazi di indirizzi sovrapposti all'interno della rete possono causare problemi.
Subnet Deve essere sufficientemente grande per contenere nodi, pod e tutte le risorse kubernetes e di Azure nel cluster. Ad esempio, se si distribuisce un'istanza interna di Azure Load Balancer, gli indirizzi IP front-end vengono allocati dalla subnet del cluster, non dagli INDIRIZZI IP pubblici. Le dimensioni della subnet devono tenere conto anche delle operazioni di aggiornamento e delle esigenze di scalabilità future.

Usare l'equazione seguente per calcolare le dimensioni minime della subnet, incluso un nodo aggiuntivo per le operazioni di aggiornamento: (number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)

esempio per un cluster a 50 nodi: (51) + (51 * 30 (default)) = 1,581 (/21 o superiore)

Esempio per un cluster a 50 nodi, preparazione per aumentare le prestazioni di 10 nodi aggiuntivi: (61) + (61 * 30 (default)) = 1,891 (/21 o superiore)

Se non si specifica un numero massimo di pod per nodo quando si crea il cluster, Il numero massimo di pod per nodo è impostato su 30. Il numero minimo di indirizzi IP richiesti si basa su questo valore. Se si calcolano i requisiti di indirizzi IP minimi in base a un valore massimo diverso, vedere Numero massimo di pod per nodo per impostare questo valore quando si distribuisce il cluster.

Intervallo di indirizzi del servizio Kubernetes Questo intervallo non deve essere usato da nessun elemento della rete che si trova su questa rete virtuale o è connesso a essa. L'indirizzo del servizio CIDR deve essere minore di /12. È possibile riutilizzare questo intervallo tra cluster del servizio Azure Kubernetes diversi.
Indirizzo IP del servizio DNS Kubernetes Indirizzo IP 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. Il primo indirizzo nell'intervallo della subnet è usato per l'indirizzo kubernetes.default.svc.cluster.local.

Numero massimo di pod per nodo

Il numero massimo di pod per nodo in un cluster del servizio Azure Kubernetes è 250. Il numero massimo predefinito di pod per nodo varia tra le funzionalità di rete kubenet e Azure CNI e il metodo di distribuzione del cluster.

CNI Numero massimo predefinito di pod Configurabile in fase di distribuzione
Sovrimpressione di Azure CNI 250 Sì (fino a 250)
Subnet pod di Azure CNI 110 Sì (fino a 250)
Azure CNI (legacy) 30 Sì (fino a 250)
Kubenet 110 Sì (fino a 250)

Configurazione del numero massimo di pod per nodo per i cluster

È possibile configurare il numero massimo di pod per nodo in fase di distribuzione del cluster o quando si aggiungono nuovi pool di nodi. È possibile impostare un valore massimo di 250 pod per nodo.

Viene applicato un valore minimo per il numero massimo di pod per nodo per garantire spazio per i pod di sistema critici per l'integrità del cluster. Il valore minimo che può essere impostato per il numero massimo di pod per nodo è 10 se e solo se la configurazione di ogni pool di nodi dispone di spazio per un minimo di 30 pod. Ad esempio, l'impostazione del numero massimo di pod per nodo su un minimo di 10 richiede che ogni singolo pool di nodi abbia almeno tre nodi. Questo requisito si applica anche per ogni nuovo pool di nodi creato, quindi se 10 è definito come numero massimo di pod per nodo, ogni pool di nodi successivo aggiunto deve avere almeno tre nodi.

Rete Minimo Massimo
Azure CNI 10 250
Kubenet 10 250

Nota

Il valore minimo nella tabella precedente viene applicato rigorosamente dal servizio Azure Kubernetes. Non è possibile impostare un valore per maxPods inferiore al valore minimo mostrato, perché in questo modo è possibile impedire l'avvio del cluster.

Nuovi cluster

È possibile definire il numero massimo di pod per nodo quando si crea un nuovo cluster usando uno dei metodi seguenti:

  • Interfaccia della riga di comando di Azure: specificare l'argomento --max-pods quando si distribuisce un cluster con il az aks create comando .
  • Modello di Azure Resource Manager: specificare la maxPods proprietà nell'oggetto [ManagedClusterAgentPoolProfile] quando si distribuisce un cluster con un modello di Azure Resource Manager.
  • Portale di Azure: modificare il campo Max pods per node nelle impostazioni del pool di nodi durante la creazione di un cluster o l'aggiunta di un nuovo pool di nodi.

Cluster esistenti

È possibile definire il numero massimo di pod per nodo quando si crea un nuovo pool di nodi. Se è necessario aumentare l'impostazione maxPods in un cluster esistente, aggiungere un nuovo pool di nodi con il nuovo valore di maxPods desiderato. Dopo la migrazione dei pod al nuovo pool, eliminare il pool precedente del nodo.

Passaggi successivi