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 in modo dinamico 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
Incompatibilità dei nodi ed etichette 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 pool di nodi viene conservata in GKE, in modo che i futuri upgrade del pool di nodi e le nuove provision dei 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 del 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 applica aggiornamenti alle etichette dei nodi o alle incompatibilità dei nodi per i pool di nodi esistenti con gestore della scalabilità automatica dei cluster abilitato. Per i cluster su versioni precedenti, puoi utilizzare la seguente soluzione alternativa: Disattiva la scalabilità automatica nel pool di nodi, quindi aggiorna le etichette e/o gli elementi di contaminazione dei nodi. Dopo il sono stati applicati, 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 es.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à del nuovo nodo desiderato (ad esempiokey1=val1:NoSchedule,key2=val2:PreferNoSchedule
).CLUSTER_NAME
: il nome del cluster.REGION
: l'area geografica Compute Engine per il cluster.ZONE
: la zona di 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