Questo documento fornisce istruzioni su come aggiornare le etichette dei nodi Kubernetes e i taint dei nodi di un pool di nodi esistente in un cluster Google Kubernetes Engine (GKE) Standard utilizzando l'API GKE. Le etichette dei nodi Kubernetes sono diverse dalle etichette dei cluster e dei nodi GKE.
Le incompatibilità e le etichette dei nodi si trovano nei metadati degli oggetti dei nodi Kubernetes. Le etichette Kubernetes vengono utilizzate per pianificare i pod su nodi specifici. Al contrario, le incompatibilità possono essere utilizzate per allontanare i pod da nodi particolari. Per maggiori informazioni, consulta Configurare la separazione dei workload in GKE.
Utilizzando l'API GKE, puoi applicare aggiornamenti alle etichette dei nodi Kubernetes e ai taint dei nodi di un pool di nodi GKE esistente senza ricreare il pool di nodi e interrompere i carichi di lavoro in esecuzione. La configurazione aggiornata del node pool viene conservata in GKE, in modo che i futuri upgrade pool di nodi e i nuovi nodi di cui viene eseguito il provisioning nel pool di nodi utilizzino la nuova configurazione.
Per saperne di più su come le modifiche influiscono sul funzionamento di un cluster GKE, consulta Gestire le modifiche del ciclo di vita del cluster per ridurre al minimo le interruzioni. Per informazioni dettagliate sulle modifiche specifiche, consulta la sezione Tipi di modifiche a un cluster GKE.
Sintassi delle etichette
Le etichette Kubernetes devono soddisfare tutti i seguenti requisiti:
- Le chiavi e i valori delle etichette devono soddisfare i requisiti di sintassi e set di caratteri.
- La lunghezza del valore specificato nel flag
--node-labelsdi gcloud CLI deve essere inferiore o uguale a 1024 caratteri.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Attiva l'API Google Kubernetes Engine. Attiva l'API Google Kubernetes Engine
- Per utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializza
gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il comando
gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
Aggiornamento delle etichette dei nodi
Per aggiornare le etichette dei nodi per un pool di nodi, utilizza il seguente comando:
gcloud container node-pools update NODEPOOL_NAME \
--node-labels=[NODE_LABEL,...] \
--cluster=CLUSTER_NAME
--location=CONTROL_PLANE_LOCATION
[GCLOUD_WIDE_FLAG …]
Sostituisci quanto segue:
NODEPOOL_NAME: il nome del pool di nodi da aggiornare.[NODE_LABEL,...]: le nuove etichette del nodo (ad esempio,label1=value1,label2=value2).CLUSTER_NAME: il nome del cluster.CONTROL_PLANE_LOCATION: la posizione di Compute Engine del control plane del tuo cluster. Fornisci una regione per i cluster regionali o una zona per i cluster zonali.
Aggiornamento delle incompatibilità dei nodi
Per aggiornare i taint dei nodi per un pool di nodi, utilizza il seguente comando:
gcloud container node-pools update NODEPOOL_NAME \
--node-taints=[NODE_TAINT,...] \
--cluster=CLUSTER_NAME
--location=CONTROL_PLANE_LOCATION
[GCLOUD_WIDE_FLAG …]
Sostituisci quanto segue:
NODEPOOL_NAME: il nome del pool di nodi da aggiornare.[NODE_TAINT,...]: i nuovi taint del nodo (ad esempiokey1=val1:NoSchedule,key2=val2:PreferNoSchedule).CLUSTER_NAME: il nome del cluster.CONTROL_PLANE_LOCATION: la posizione di Compute Engine del control plane del tuo cluster. Fornisci una regione per i cluster regionali o una zona per i cluster zonali.
Aggiornamento dei taint dell'architettura
Analogamente ad altri taint di sistema gestiti da GKE, i taint dell'architettura
come kubernetes.io/arch=arm64:NoSchedule sui nodi Arm vengono gestiti in modo diverso
rispetto ai taint dei nodi personalizzati e non possono essere rimossi utilizzando le istruzioni
descritte in precedenza. Tuttavia, puoi modificare i taint dell'architettura. Per saperne di più, consulta Configura il taint dell'architettura Arm predefinita.