Configura il numero massimo di pod per nodo


Questa pagina spiega come configurare il numero massimo di pod che possono essere eseguiti su un nodo per i cluster standard. Questo valore determina la dimensione gli intervalli di indirizzi IP assegnati ai nodi su Google Kubernetes Engine (GKE). Ai pod in esecuzione su un nodo vengono allocati gli indirizzi IP Intervallo CIDR.

Durante la pianificazione, GKE utilizza il numero massimo di pod per nodo determinare se è disponibile una capacità sufficiente per pianificare un pod. Solo i pod con assegnate a un nodo, e non sono ancora terminate (fase Failed o Succeeded), vengono conteggiate ai fini di questa capacità.

I passaggi in questa pagina non si applicano ai cluster Autopilot perché il numero massimo di nodi è preconfigurato e immutabile.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Attiva l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine .
  • Se vuoi utilizzare Google Cloud CLI per questa attività, install e poi initialize con gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo gcloud components update.

Limitazioni

  • Puoi configurare solo il numero massimo di pod per nodo Cluster nativi VPC.
  • La creazione dei nodi è limitata dal numero di indirizzi disponibili nel pod di indirizzi IP esterni. Consulta la tabella di pianificazione dell'intervallo di indirizzi IP per le dimensioni predefinite, minime e massime degli intervalli di indirizzi dei pod. Puoi anche aggiungere indirizzi IP dei pod aggiuntivi utilizzando un CIDR multi-pod discontinuo.
  • Ogni cluster deve creare pod kube-system, come kube-proxy, nello spazio dei nomi kube-system. Ricordati di tenere conto di entrambi i pod del carico di lavoro e pod di sistema quando riduci il numero massimo di pod per nodo. Elenco Per i pod di sistema nel cluster, esegui questo comando:

    kubectl get pods --namespace kube-system
    

Configura il numero massimo di pod per nodo

Puoi configurare il numero massimo di pod per nodo quando crei un cluster quando si crea un pool di nodi. Non puoi modificare questa impostazione dopo il cluster viene creato un pool di nodi.

Tuttavia, se esaurisci gli indirizzi IP dei pod, puoi creare indirizzi IP pod aggiuntivi gli intervalli di indirizzi utilizzando CIDR multipod discontinuo.

Puoi impostare la dimensione dell'intervallo di indirizzi dei pod durante la creazione di un cluster utilizzando gcloud CLI o la console Google Cloud.

gcloud

Per impostare il numero massimo predefinito di pod per nodo utilizzando gcloud CLI, esegui il seguente comando:

gcloud container clusters create CLUSTER_NAME \
    --enable-ip-alias \
    --cluster-ipv4-cidr=10.0.0.0/21 \
    --services-ipv4-cidr=10.4.0.0/19 \
    --create-subnetwork=name='SUBNET_NAME',range=10.5.32.0/27 \
    --default-max-pods-per-node=MAXIMUM_PODS \
    --location=COMPUTE_LOCATION

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster.
  • SUBNET_NAME: il nome della nuova subnet per la tua in un cluster Kubernetes.
  • MAXIMUM_PODS: il numero massimo predefinito di pod per per il tuo cluster, può essere configurato fino a 256. Se omesso, Kubernetes assegna il valore predefinito 110.
  • COMPUTE_LOCATION: il valore Località di Compute Engine per il nuovo cluster.

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea.

  3. Configura il nuovo cluster.

  4. Nel riquadro di navigazione, in Cluster, fai clic su Networking.

  5. Assicurati che la casella di controllo Abilita il routing del traffico nativo della VPC (mediante IP alias) è selezionata.

  6. Nel riquadro di navigazione, in Pool di nodi, fai clic su Nodi.

  7. Imposta il campo Numero massimo di pod per nodo su 110. GKE utilizza questo valore per regolare la dimensione dell'intervallo di indirizzi IP assegnato a nodi.

  8. Fai clic su Crea.

Quando configuri il numero massimo di pod per nodo per il cluster, Kubernetes utilizza questo valore per allocare un intervallo CIDR per i nodi. Puoi calcolare il numero massimo di nodi sul cluster in base alla configurazione secondaria Intervallo di indirizzi IP per i pod e l'intervallo CIDR allocato per il nodo.

Ad esempio, se imposti il numero massimo predefinito di pod su 110 e il valore di indirizzi IP secondari per i pod fino a /21, Kubernetes assegna un CIDR /24 ai nodi sul cluster. Ciò consente un massimo di 2(24-21) = 23 = 8 nodi nel cluster.

Allo stesso modo, se imposti il numero massimo predefinito di pod su 8 e il valore di indirizzi IP secondari per i pod fino a /21, Kubernetes assegna un CIDR /28 ai nodi. Ciò consente un massimo di 2(28-21) = 27 = 128 nodi nel cluster.

Configura il numero massimo di pod in un nuovo pool di nodi per un cluster esistente

Puoi anche specificare il numero massimo di pod per nodo durante la creazione di un nodo in un cluster esistente. La creazione di un nuovo pool di nodi ti consente di ottimizzare l'IP di indirizzi IP esterni, anche nei cluster esistenti in cui non è configurata il numero massimo predefinito di pod per nodo a livello di cluster.

L'impostazione del numero massimo di pod a livello di pool di nodi esegue l'override della il valore massimo predefinito a livello di cluster. Se non configuri un numero massimo di pod per nodo quando crei il pool di nodi, si applica il valore massimo a livello di cluster.

gcloud

gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-pods-per-node=MAXIMUM_PODS

Sostituisci quanto segue:

  • POOL_NAME: il nome del nuovo pool di nodi.
  • CLUSTER_NAME: il nome del cluster in cui vuoi creare il pool di nodi.
  • MAXIMUM_PODS: il numero massimo di pod nel nodo piscina.

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Fai clic su Aggiungi pool di nodi.

  4. Nel riquadro di navigazione, fai clic su Nodi.

  5. In Networking, inserisci un valore per Numero massimo di pod per nodo . GKE utilizza questo valore per ottimizzare le dimensioni dell'IP di indirizzi IP assegnati ai nodi.

Informazioni sul numero massimo predefinito di pod per nodo

Per impostazione predefinita, GKE consente fino a 110 pod per nodo Cluster standard, ma puoi configurare cluster standard e consentire fino a 256 pod per nodo. Autopilot, basati su modelli la densità prevista dei pod del carico di lavoro, scegli il numero massimo di pod per nodo in un intervallo tra 8 e 256. Kubernetes assegna a ciascun nodo un intervallo di indirizzi IP, un CIDR di blocco, in modo che ogni pod possa un indirizzo IP univoco. Le dimensioni del blocco CIDR corrispondono di pod per nodo.

Intervalli CIDR pod nei cluster standard

Con il valore massimo predefinito di 110 pod per nodo per le versioni Standard, Kubernetes assegna un blocco CIDR /24 (256 indirizzi) a ciascuno nodi. Avendo un numero di indirizzi IP disponibili superiore al doppio rispetto al numero massimo di pod che possono essere creati su un nodo, Kubernetes può ridurre degli indirizzi IP quando i pod vengono aggiunti e rimossi da un nodo.

Anche se avere 256 pod per nodo è un limite rigido, puoi ridurre il numero su un nodo. La dimensione del blocco CIDR assegnato a un nodo dipende il valore massimo di pod per nodo. Il blocco contiene sempre almeno il doppio indirizzi IP come numero massimo di pod per nodo.

Nella tabella seguente sono elencate le dimensioni del blocco CIDR e il numero corrispondente di indirizzi IP disponibili che Kubernetes assegna ai nodi in base al numero Pod per nodo:

Numero massimo di pod per nodo Intervallo CIDR per nodo Numero di indirizzi IP
8 /28 16
09-16 /27 32
17-32 /26 64
33-64 /25 128
65-128 /24 256
129 - 256 /23 512

Intervalli CIDR pod nei cluster Autopilot

Nei cluster GKE Autopilot, il numero massimo di pod per nodo e l'allocazione dei blocchi CIDR associati sono dinamiche. Ciò significa che può variare in base alla versione di GKE e alla densità del carico di lavoro.

  • GKE Autopilot 1.28 e versioni precedenti: il numero massimo Il valore fisso di pod per nodo è 32. Ne consegue un blocco CIDR /26 (64 indirizzi IP) assegnate a ciascun nodo.

  • GKE Autopilot 1.28 e versioni successive: il numero massimo I pod per nodo sono dinamici e possono variare da 8 a 256. La dimensione del blocco CIDR è regolati di conseguenza per garantire che ogni pod abbia un indirizzo IP univoco.

La natura dinamica del numero massimo di pod per nodo in Autopilot consente un utilizzo efficiente delle risorse. Il cluster esegue automaticamente si adatta ai requisiti dei carichi di lavoro, allocando il numero appropriato di pod e indirizzi IP per nodo.

per adattarsi alla dimensione iniziale del cluster e al numero massimo di pod per nodo. configurazione, seleziona un intervallo di indirizzi IP secondari appropriato per i pod. Me ti consigliamo di pianificare con attenzione l'indirizzo IP. Tuttavia, se esaurisci gli indirizzi IP man mano che il cluster scala, impedisce un'ulteriore scalabilità vengono aggiunti altri indirizzi IP. Puoi aggiungere altri intervalli secondari in un secondo momento obbligatorio. Per ulteriori informazioni su come aggiungere altri intervalli di indirizzi IP dopo hai creato il cluster. Consulta Aggiunta di intervalli secondari a un VPC Google Cloud.

Un intervallo di /16 (ad esempio cluster-ipv4-cidr=240.0.0.0/16) è generalmente consigliato per offrire flessibilità per la crescita e le variazioni della densità dei pod entro nel cluster.

Considera i seguenti punti quando pianifichi il tuo cluster Autopilot configurazione di rete:

  • Densità pod: considera il numero massimo di pod nel cluster che carichi di lavoro necessari.
  • Intervallo CIDR: scegli un intervallo di indirizzi IP secondari per i pod che possono soddisfare sia i requisiti di dimensione del cluster che i requisiti di densità dei pod.
  • Flessibilità: un intervallo CIDR più ampio, ad esempio /16, offre maggiore flessibilità per di crescita futura e di variazioni della densità dei pod.

Pianificando con attenzione l'intervallo CIDR, puoi assicurare che Il cluster Autopilot può inizialmente scalare per soddisfare le tue esigenze. Tuttavia, se si verificano limitazioni relative agli indirizzi IP man mano che il cluster cresce, puoi aggiungere e altri intervalli secondari aggiuntivi per supportare un'ulteriore scalabilità.

Riduci il numero massimo di pod

La riduzione del numero massimo di pod per nodo consente al cluster di avere nodi, poiché ogni nodo richiede una parte più piccola dello spazio totale di indirizzi IP. In alternativa, potresti supportare lo stesso numero di nodi nel cluster specificando uno spazio di indirizzi IP più ridotto per i pod al momento della creazione del cluster.

La riduzione del numero massimo di pod per nodo consente anche di creare cluster più piccoli che richiedono meno indirizzi IP. Ad esempio, con otto pod per nodo, dispone di un CIDR /28. Questi intervalli di indirizzi IP più di subnet e intervalli secondari che definisci determinano il numero di indirizzi IP necessari per creare nel cluster correttamente.

Puoi configurare il numero massimo di pod per nodo al momento della creazione del cluster e al momento della creazione del pool di nodi.

Passaggi successivi