Questa pagina fornisce istruzioni su come aggiornare dinamicamente le etichette e gli elementi di contaminazione dei nodi di un pool di nodi esistente in un cluster Google Kubernetes Engine (GKE) standard.
Puoi anche applicare e aggiornare dinamicamente i tag di rete nei cluster GKE Autopilot o Standard. Per istruzioni, consulta Utilizzare i tag di rete per applicare regole firewall ai nodi.
Panoramica
Le incompatibilità e le etichette dei nodi si trovano nei metadati degli oggetti dei nodi Kubernetes. Le etichette vengono utilizzate per pianificare i pod su nodi specifici, dove le incompatibilità possono essere utilizzate per allontanarli.
Utilizzando l'API Kubernetes Engine, puoi applicare aggiornamenti alle etichette e alle incompatibilità dei nodi di un pool di nodi GKE esistente senza dover ricreare il pool di nodi o interrompere i carichi di lavoro in esecuzione. La configurazione aggiornata del node pool viene conservata in GKE, in modo che gli upgrade futuri pool di nodi e le nuove implementazioni di nodi nel pool di nodi utilizzino la nuova configurazione.
Limitazioni
Esistono alcune limitazioni per l'utilizzo dell'API Kubernetes Engine per aggiornare dinamicamente le configurazioni pool di nodi:
- La versione per il pool di nodi deve essere 1.19.7-gke.1500 o successiva.
- Per applicare gli aggiornamenti alle etichette dei nodi o ai taint dei nodi per i pool di nodi esistenti con il gestore della scalabilità automatica del cluster abilitato, la versione del piano di controllo del cluster deve essere 1.23.4-gke.300 o successiva. Per i cluster su versioni precedenti, puoi utilizzare la seguente soluzione alternativa: Disattiva la scalabilità automatica nel pool di nodi e poi aggiorna le etichette e/o gli elementi di contaminazione dei nodi. Dopo aver applicato gli aggiornamenti, riattiva la scalabilità automatica.
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] [--region=REGION | --zone=ZONE]
[GCLOUD_WIDE_FLAG …]
Sostituisci quanto segue:
NODEPOOL_NAME
: il nome del pool di nodi da aggiornare.[NODE_LABEL,...]
: le nuove etichette dei nodi desiderate (ad esempiolabel1=value1,label2=value2
).CLUSTER_NAME
: il nome del cluster.REGION
: la regione Compute Engine per il cluster.ZONE
: la zona Compute Engine per il cluster.
Aggiornamento delle incompatibilità dei nodi
Per aggiornare gli elementi dannosi 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] [--region=REGION | --zone=ZONE]
[GCLOUD_WIDE_FLAG …]
Sostituisci quanto segue:
NODEPOOL_NAME
: il nome del pool di nodi da aggiornare.[NODE_TAINT,...]
: le incompatibilità del nuovo nodo desiderato (ad esempiokey1=val1:NoSchedule,key2=val2:PreferNoSchedule
).CLUSTER_NAME
: il nome del cluster.REGION
: la regione Compute Engine per il cluster.ZONE
: la zona Compute Engine per il cluster.
Passaggi successivi
- Scopri di più sulle incompatibilità dei nodi per controllare la pianificazione.
- Scopri di più sui tag di rete.
- Scopri di più sulle etichette