Insight sull'utilizzo degli indirizzi IP GKE

In questa pagina vengono descritti gli insight di Network Analyzer per l'utilizzo degli indirizzi IP di Google Kubernetes Engine (GKE). Per informazioni su tutti i tipi di insight, consulta Gruppi e tipi di insight.

Visualizza insight nell'API Recommender

Per visualizzare questi insight nell'interfaccia alla gcloud CLI o nell'API Recommender, utilizza il seguente tipo di insight:

  • google.networkanalyzer.container.ipAddressInsight

Devi disporre delle seguenti autorizzazioni:

  • recommender.networkAnalyzerGkeIpAddressInsights.list
  • recommender.networkAnalyzerGkeIpAddressInsights.get

Per ulteriori informazioni sull'utilizzo dell'API Recommender per gli insight di Network Analyzer, consulta Utilizzare l'interfaccia a riga di comando e l'API del motore per suggerimenti.

Allocazione di intervalli di pod GKE elevati

Questo insight indica che l'utilizzo degli indirizzi IP negli intervalli di indirizzi dei pod per un cluster GKE è superiore all'80%. Il criterio di allocazione degli indirizzi IP per i pod GKE varia a seconda che il cluster sia stato creato come cluster nativo di VPC o basato su route.

Cluster basati su route

In GKE, i cluster si distinguono in base al modo in cui instradano il traffico da un pod a un altro. Un cluster che utilizza route Google Cloud è chiamato cluster basato su route. Per maggiori informazioni, consulta Creazione di un cluster basato su route.

Un cluster basato su route ha un intervallo di indirizzi IP utilizzati per pod e servizi. Anche se l'intervallo viene utilizzato sia per i pod che per i servizi, è chiamato intervallo di indirizzi dei pod.

L'ultimo /20 dell'intervallo di indirizzi dei pod viene utilizzato per i servizi. Un intervallo /20 ha 212 = 4096 indirizzi. Quindi gli indirizzi 4096 vengono utilizzati per i servizi e il resto dell'intervallo viene usato per i pod.

Ogni nodo dell'intervallo di indirizzi dei pod ha un intervallo /24 di indirizzi IP per i pod. Un intervallo /24 ha 28 = 256 indirizzi. Ricorda che gli indirizzi 4096 nell'intervallo di indirizzi dei pod vengono utilizzati per i servizi. La parte rimanente dell'intervallo di indirizzi dei pod viene utilizzata per i pod e deve essere abbastanza grande da contenere un numero di nodi x 256 indirizzi.

Il rapporto di allocazione per l'intervallo di indirizzi dei pod viene calcolato come segue:

$\frac{\text {Conteggio nodi GKE} \times {256}}{\text {Dimensione intervallo indirizzi pod}-{4096}}$

Ad esempio, prevedi di creare un cluster di nodi 900. Poi hai bisogno degli indirizzi 900 x 256 = 230,400 per i pod. Supponi ora di avere un intervallo di indirizzi dei pod /14. Un intervallo /14 ha 218 = 262,144 indirizzi. Sottrai gli indirizzi 4096 utilizzati per i servizi e ottieni 258,048, sufficiente per 900 nodi.

Cluster VPC nativi

In GKE, i cluster si distinguono in base al modo in cui instradano il traffico da un pod a un altro. Un cluster che utilizza intervalli di indirizzi IP alias è chiamato cluster nativo di VPC. Per ulteriori informazioni, consulta Cluster nativi di VPC.

Quando crei un pool di nodi in un cluster nativo di VPC, selezioni un intervallo di indirizzi IP secondari per allocare IP per i pod GKE. Pool di nodi diversi possono utilizzare intervalli secondari diversi per allocare gli indirizzi IP dei pod. Per ulteriori informazioni, consulta la sezione relativa al CIDR multi-pod. Network Analyzer calcola il rapporto di allocazione per ogni intervallo di indirizzi IP secondari utilizzato per allocare gli indirizzi IP dei pod per un determinato cluster. Se il rapporto di allocazione complessivo è superiore all'80%, ottieni insight sull'utilizzo elevato.

Il rapporto di allocazione per un singolo intervallo di indirizzi IP secondari viene calcolato come segue:

$\frac{\text {indirizzi IP dell'intervallo secondario allocato ai nodi}}{\text {Dimensione intervallo secondario}}$

Ad esempio, un intervallo di pod secondari /24 può contenere 256 pod. Se è in esecuzione un solo nodo 1 con pod max_pods_per_node, 110 e 16 predefiniti, il rapporto mostra il 100% (256/256) anziché il 6,25% (16/256) perché, anche se gli indirizzi IP dei pod di 240 non vengono utilizzati, appartengono comunque a questo nodo. È possibile creare correttamente un altro nuovo nodo solo se ci sono 256 indirizzi IP del pod inutilizzati.

L'allocazione complessiva viene calcolata come segue:

$\frac{\text {Somma degli IP allocati in tutti gli intervalli di indirizzi IP secondari utilizzati per allocare indirizzi IP dei pod}}{\text {Somma delle dimensioni degli intervalli di indirizzi IP secondari utilizzate per allocare gli indirizzi IP dei pod}}$

Ad esempio, se l'indirizzo IP del pod predefinito e l'intervallo di indirizzi IPv4 del pod aggiuntivo sono impostati su /22 e esistono 2 pool di nodi, un pool di nodi utilizza l'intervallo di indirizzi IP del pod predefinito e ha 3 nodi, mentre il secondo pool utilizza un intervallo di indirizzi IP dei pod aggiuntivo e ha anche 3 nodi, con il numero massimo predefinito di pod impostato su 110. Kubernetes assegna un intervallo CIDR /24 ai nodi sul cluster. Con 6 nodi e un intervallo CIDR /24 allocato, sono presenti in totale 256 * 6 = 1536 indirizzi IP. Corrisponde al 75% del numero totale di indirizzi IP disponibili nei due intervalli di indirizzi IP dei pod (1024 * 2 = 2048).

È importante notare che se l'indirizzo IP secondario è condiviso tra cluster diversi, gli insight mostrano il valore totale aggregato di tutti i cluster. Per visualizzare l'utilizzo di un singolo intervallo IP del cluster, puoi eseguire gcloud container cluster describe CLUSTER_NAME per visualizzare ogni stato di utilizzo di ogni indirizzo IP secondario. Sostituisci CLUSTER_NAME con il nome del cluster.

Suggerimenti

L'allocazione degli intervalli di pod GKE limita la scalabilità automatica

Questo insight indica che gli intervalli di indirizzi IP dei pod del cluster non hanno un numero sufficiente di indirizzi per supportare la creazione del numero massimo di nodi in tutti i pool di nodi. La pagina dei dettagli di Insight include una tabella che mostra il numero di indirizzi IP dei pod attualmente utilizzati e il numero massimo di indirizzi IP dei pod in ciascuno degli intervalli di indirizzi IP dei pod del tuo cluster GKE.

Network Analyzer genera questo insight quando il valore di utilizzo degli indirizzi IP con scalabilità automatica completa supera il 100%.

Il valore di utilizzo degli indirizzi IP con scalabilità automatica supera il 100% quando il numero di indirizzi IP dei pod richiesti per supportare il numero massimo di nodi nel cluster supera il numero di indirizzi IP negli intervalli di indirizzi IP del pod del cluster. Il numero massimo di nodi nel cluster è la somma del numero massimo di nodi in ciascun pool di nodi del cluster (maxNodeCount).

Il valore di utilizzo degli indirizzi IP con scalabilità automatica completamente viene calcolato utilizzando la formula disponibile nell'allocazione degli intervalli di pod GKE elevati.

Cluster basati su route

Questo insight viene generato quando il rapporto di allocazione per l'intervallo di indirizzi dei pod è superiore al 100% e tutti i pool di nodi hanno una scalabilità automatica completa. I nodi GKE non verranno creati a causa della mancanza di spazio di indirizzi IP.

Cluster VPC nativi

Questo insight viene generato se l'intervallo di indirizzi IP secondari utilizzato per allocare gli indirizzi IP del pod non dispone di sufficiente spazio di indirizzi IP non allocati. Lo spazio di indirizzi IP insufficiente non è in grado di gestire la situazione quando tutti i pool di nodi sono completamente a scalabilità automatica.

Per maggiori informazioni, consulta Best practice per il networking di GKE e Limitazioni del gestore della scalabilità automatica dei cluster.

Suggerimenti

  • Per i cluster basati su route, ricrea il cluster con un intervallo di indirizzi dei pod più ampio. Crea questo cluster come cluster nativo di VPC perché è la modalità di rete consigliata. Vedi Cluster nativi e basati su route VPC.
  • Per i cluster nativi di VPC, aggiungi altri intervalli di pod a livello di cluster utilizzando il CIDR multi-pod e abilita il provisioning automatico dei nodi per automatizzare la scalabilità dei nodi con l'allocazione automatica degli indirizzi IP dei pod. Per un maggiore controllo sugli indirizzi IP dei pod utilizzati per un determinato pool di nodi, puoi creare i pool di nodi che utilizzano uno specifico intervallo di indirizzi IP secondari utilizzando il CIDR multi-pod. Tuttavia, questo tipo di configurazione solo si applica ai cluster Standard.