Questa pagina fornisce istruzioni su come aggiornare dinamicamente le etichette dei nodi e le incompatibilità 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 le 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 usate per pianificare i pod su nodi specifici e le incompatibilità possono essere utilizzate per allontanare i pod.
Utilizzando l'API Kubernetes Engine, puoi applicare aggiornamenti alle etichette dei nodi 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 pool di nodi viene conservata in GKE, in modo che i futuri upgrade dei pool di nodi e i nuovi provisioning nel pool di nodi utilizzeranno la nuova configurazione.
Limitazioni
Esistono alcune limitazioni per l'utilizzo dell'API Kubernetes Engine per l'aggiornamento dinamico delle configurazioni dei pool di nodi:
- La versione del pool di nodi deve essere 1.19.7-gke.1500 o successiva.
- La versione del piano di controllo del cluster deve essere 1.23.4-gke.300 o successiva per applicare aggiornamenti alle etichette dei nodi o alle incompatibilità dei nodi per i pool di nodi esistenti con il gestore della scalabilità automatica dei cluster abilitato. Per i cluster con versioni precedenti, puoi utilizzare la seguente soluzione alternativa: disabilitare la scalabilità automatica sul pool di nodi, quindi aggiornare le etichette e/o le incompatibilità 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 che ti interessano (ad esempio,label1=value1,label2=value2
).CLUSTER_NAME
: il nome del cluster.REGION
: la regione di Compute Engine per il cluster.ZONE
: la zona di Compute Engine per il cluster.
Aggiornamento delle incompatibilità dei nodi
Per aggiornare le incompatibilità dei nodi per un pool di nodi, utilizza il comando seguente:
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à dei nuovi nodi (ad esempio,key1=val1:NoSchedule,key2=val2:PreferNoSchedule
).CLUSTER_NAME
: il nome del cluster.REGION
: la regione di Compute Engine per il cluster.ZONE
: la zona di Compute Engine per il cluster.
Passaggi successivi
- Scopri di più sulle incompatibilità dei nodi per il controllo della pianificazione.
- Scopri di più sui tag di rete.
- Informazioni sulle etichette