Questa pagina mostra come applicare dinamicamente i tag di rete ai nodi nei cluster Google Kubernetes Engine (GKE) senza interrompere i carichi di lavoro in esecuzione.
Informazioni sui tag di rete
I tag di rete sono metadati su macchine virtuali (VM) Compute Engine che consentono di applicare route e regole firewall a istanze VM specifiche. In GKE, puoi utilizzare i tag di rete per rendere le route o le regole firewall VPC applicabili ai nodi nel tuo cluster.
Puoi utilizzare l'API GKE per applicare e aggiornare i tag di rete sui tuoi cluster GKE senza interrompere i carichi di lavoro in esecuzione. I tag di rete specificati vengono applicati anche a tutti i nuovi nodi di cui GKE esegue automaticamente il provisioning.
Utilizza tag anziché tag di rete
I tag di rete sono stringhe semplici non soggette ai controlli di accesso di Identity and Access Management. Chiunque abbia accesso ai tuoi nodi nell'API GKE può aggiungere tag di rete a quei nodi.
Se utilizzi GKE versione 1.28 o successiva, ti consigliamo di utilizzare i tag con una designazione firewall per applicare criteri firewall di rete a livello di regione o globale, che migliorano le capacità delle regole firewall VPC.
I tag sono coppie chiave-valore che colleghi alle VM di Compute Engine. Puoi utilizzare IAM per controllare chi può interagire con tag specifici.
- Per utilizzare i tag per applicare i criteri firewall in GKE, consulta Applicare in modo selettivo i criteri firewall di rete in GKE.
- Per ulteriori vantaggi dei tag, consulta la pagina Confronto di tag e tag di rete.
- Per assistenza sulla migrazione delle regole firewall ai criteri firewall di rete, consulta Regole firewall VPC di Google Cloud ai criteri firewall di rete - guida alla migrazione (PDF).
Opzioni della riga di comando per l'applicazione di tag di rete
La tabella seguente descrive i flag che puoi specificare con Google Cloud CLI per applicare tag di rete ai tuoi cluster, nonché i relativi casi d'uso.Flag | Modalità di funzionamento | Livello | Descrizione |
---|---|---|---|
--autoprovisioning-network-tags |
|
Cluster |
Applica i tag di rete specificati a tutti i nodi Autopilot e a tutti i pool di nodi Standard di cui è stato eseguito il provisioning automatico. |
--tags |
|
Pool di nodi | Applica manualmente i tag di rete a pool di nodi Standard specifici. |
Limitazioni
L'uso di --autoprovisioning-network-tags
ti impedisce di usare --tags
per aggiornare i tag di rete per i pool di nodi Standard di cui è stato eseguito il provisioning automatico.
Ti consigliamo di utilizzare --autoprovisioning-network-tags
per i pool di nodi di cui è stato eseguito il provisioning automatico e di utilizzare --tags
solo per i pool di nodi creati manualmente.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Abilita l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività, installa e initialize gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo
gcloud components update
.
Aggiungi tag di rete ai nuovi cluster
Puoi aggiungere tag di rete quando crei un nuovo cluster.
Aggiungi tag di rete ai nuovi cluster Autopilot
Esegui questo comando:
gcloud container clusters create-auto CLUSTER_NAME \
--location=LOCATION \
--autoprovisioning-network-tags=TAG1,TAG2,...
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo nuovo cluster Autopilot.LOCATION
: la località di Compute Engine per il nuovo cluster.TAG1,TAG2, ...
: un elenco separato da virgole dei tag di rete che vuoi applicare.
Aggiungi tag di rete ai nuovi cluster Standard
Per Standard, puoi anche specificare tag di rete specifici per il provisioning automatico dei nodi.
Applica i tag di rete al pool di nodi predefinito
Esegui questo comando per creare un nuovo cluster Standard e applicare i tag di rete al pool di nodi predefinito:
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--tags=NETWORK_TAG1,NETWORK_TAG2,...
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del tuo nuovo cluster Standard.COMPUTE_REGION
: la località di Compute Engine per il nuovo cluster.NETWORK_TAG1,NETWORK_TAG2, ...
: un elenco separato da virgole dei tag di rete che vuoi applicare.
Applica i tag di rete ai pool di nodi di cui è stato eseguito il provisioning automatico
Puoi applicare automaticamente i tag di rete a tutti i pool di nodi creati dal provisioning automatico dei nodi.
Esegui questo comando:
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--enable-autoprovisioning \
--autoprovisioning-network-tags=TAG1,TAG2,...
Sostituisci TAG1,TAG2,...
con un elenco separato da virgole di tag di rete da applicare a tutti i pool di nodi di cui è stato eseguito il provisioning automatico.
Aggiorna i tag di rete sui cluster esistenti
Puoi aggiornare i tag di rete sui cluster esistenti.
Aggiorna i tag di rete sui cluster Autopilot esistenti
Esegui questo comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=TAG1,TAG2,...
Aggiorna i tag di rete sui cluster standard esistenti
Esegui questo comando per aggiornare i tag di rete su un pool di nodi Standard specifico. Non puoi utilizzare questo comando per aggiornare i pool di nodi di cui è stato eseguito il provisioning automatico
se hai utilizzato --autoprovisioning-network-tags
.
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--tags=NETWORK_TAG1,NETWORK_TAG2,...
Se --autoprovisioning-network-tags
è impostato per il cluster, questo comando restituisce un errore.
Aggiorna i tag di rete per i pool di nodi di cui è stato eseguito il provisioning automatico
Puoi aggiornare i tag di rete applicati dal provisioning automatico dei nodi ai pool di nodi di cui è stato eseguito il provisioning automatico, nuovi ed esistenti.
Esegui questo comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=TAG1,TAG2,...
Aggiungere tag di rete ai nuovi pool di nodi Standard
Per creare un nuovo pool di nodi in un cluster Standard con tag di rete specifici, esegui questo comando:
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--tags=NETWORK_TAG1,NETWORK_TAG2,...
Sostituisci NODE_POOL_NAME
con il nome del nuovo pool di nodi.
Visualizza i tag di rete esistenti
Questa sezione mostra come visualizzare i tag di rete esistenti.
Visualizza i tag di rete esistenti in Autopilot
Esegui questo comando:
gcloud container clusters describe CLUSTER_NAME \
--flatten=nodePoolAutoConfig.networkTags
Se il cluster contiene tag di rete, l'output è simile al seguente:
---
tags:
- example-tag
Visualizza i tag di rete esistenti in Standard
Puoi visualizzare i tag di rete nei pool di nodi di cui è stato eseguito il provisioning automatico o nei pool di nodi che hai creato.
Visualizza i tag di rete nei pool di nodi di cui è stato eseguito il provisioning automatico
Esegui questo comando:
gcloud container clusters describe CLUSTER_NAME \
--flatten=nodePoolAutoConfig.networkTags
Se il cluster contiene tag di rete, l'output è simile al seguente:
---
tags:
- example-tag
Visualizza i tag di rete nei pool di nodi senza provisioning automatico dei nodi
Per visualizzare i tag di rete per uno specifico pool di nodi Standard in cui sono stati applicati i tag utilizzando il flag --tags
, esegui questo comando:
gcloud container node-pools describe NODE_POOL_NAME\
--cluster=CLUSTER_NAME \
--format='value(config.tags)'
Sostituisci NODE_POOL_NAME
con il nome del pool di nodi.
Se il pool di nodi contiene tag, l'output è simile al seguente:
example-tag
Rimuovi tag di rete
Puoi rimuovere i tag di rete da GKE.
Rimuovi i tag di rete dai cluster Autopilot
Esegui questo comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=""
Rimuovi i tag di rete dai cluster standard e dai pool di nodi
Puoi rimuovere i tag da tutti i pool di nodi di cui è stato eseguito il provisioning automatico o da pool di nodi specifici.
Rimuovi i tag di rete dai pool di nodi di cui è stato eseguito il provisioning automatico
Per rimuovere i tag di rete da tutti i pool di nodi di cui è stato eseguito il provisioning automatico, esegui questo comando:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-network-tags=""
Questo comando ripristina anche la possibilità di utilizzare l'opzione --tags
per specificare manualmente i tag di rete per i pool di nodi di cui è stato eseguito il provisioning automatico.
Rimuovi i tag di rete da pool di nodi specifici
Per rimuovere i tag di rete da pool di nodi specifici, esegui questo comando:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--tags=""
Passaggi successivi
- Scopri di più sui tag di rete.
- Scopri come applicare le etichette del cluster per una migliore gestione.