Informazioni sui pool di nodi


Questa pagina spiega come funzionano i pool di nodi in Google Kubernetes Engine (GKE).

Per scoprire come gestire i pool di nodi, consulta Aggiunta e gestione dei pool di nodi.

Panoramica

Un pool di nodi è un gruppo di nodes all'interno di un cluster che hanno tutti la stessa configurazione. I pool di nodi usano una specifica NodeConfig. Ogni nodo nel pool ha un'etichetta nodo Kubernetes, cloud.google.com/gke-nodepool, il cui valore è il nome del pool.

Quando crei un cluster, il numero di nodi e il tipo di nodi che vengono utilizzate per creare il primo pool di nodi del cluster. Quindi puoi aggiungere al cluster ulteriori pool di nodi di dimensioni e tipi diversi. Tutti i nodi in un determinato pool di nodi sono identici tra loro.

Ad esempio, puoi creare un pool di nodi nel tuo cluster con SSD locali, una piattaforma CPU minima, VM Spot, un'immagine del nodo specifica, tipi di macchine diversi o un'interfaccia di rete virtuale più efficiente.

I pool di nodi personalizzati sono utili quando devi pianificare pod che richiedono più risorse di altri, come più memoria o più spazio su disco locale. Se hai bisogno di un maggiore controllo sulla posizione in cui vengono pianificati i pod, puoi utilizzare le incompatibilità dei nodi.

Puoi creare, eseguire l'upgrade ed eliminare i pool di nodi singolarmente senza influire sull'intero cluster. Non puoi configurare un singolo nodo in un pool di nodi; eventuali modifiche alla configurazione influiscono su tutti i nodi del pool di nodi.

Puoi ridimensionare i pool di nodi in un cluster aggiungendo o rimuovendo nodi.

Per impostazione predefinita, tutti i nuovi pool di nodi eseguono la stessa versione di Kubernetes del piano di controllo. È possibile eseguire l'upgrade manuale o l'upgrade automatico dei pool di nodi esistenti. Tu puoi anche eseguire più versioni dei nodi Kubernetes su ciascun pool di nodi aggiornare ogni pool di nodi in modo indipendente e scegliere come target pool di nodi diversi per deployment specifici.

Deployment di servizi in pool di nodi specifici

Quando definisci un servizio, puoi controllare indirettamente in quale pool di nodi viene eseguito il deployment. Il pool di nodi non dipende dalla configurazione del servizio, ma dalla configurazione il pod.

Nodi in cluster multizonali o regionali

Se hai creato un cluster multi-zonale o regionale, tutti i pool di nodi vengono replicati automaticamente in queste zone. Qualsiasi nuovo pool di nodi viene creato automaticamente in quelle zone. Analogamente, eventuali eliminazioni eliminano anche questi pool di nodi dalle zone aggiuntive.

Tieni presente che, a causa di questo effetto moltiplicativo, potresti consumare una quantità maggiore di quota del progetto per una regione specifica durante la creazione pool di nodi.

Eliminazione dei pool di nodi

Quando elimini un pool di nodi, GKE svuota tutti i nodi del pool, eliminando e riprogrammando tutti i pod. Il processo di svuotamento comporta l'eliminazione di GKE su ciascun nodo nel pool di nodi. Ogni nodo in un pool di nodi viene svuotato eliminazione dei pod con un periodo di arresto controllato allocato di MAX_POD. MAX_POD è il valore massimo terminationGracePeriodSeconds impostato sui pod pianificati sul nodo, con un limite di un'ora. PodDisruptionBudget non vengono rispettate durante l'eliminazione del pool di nodi.

Se i pod hanno selettori di nodi specifici, potrebbero rimanere in condizione non pianificabile se nessun altro nodo nel cluster soddisfa i criteri.

Quando un cluster viene eliminato, GKE non segue questa procedura di interruzioni graceful dei nodi svuotandoli. Se i carichi di lavoro in esecuzione su un il cluster deve essere terminato correttamente, utilizza kubectl drain per ripulire i carichi di lavoro prima di eliminare il cluster.

Per eliminare un pool di nodi, consulta Eliminare un pool di nodi.

Passaggi successivi