Utilizza i tag di rete per applicare regole firewall ai nodi


Questa pagina mostra come applicare dinamicamente i tag di rete ai nodi nei tuoi cluster Google Kubernetes Engine (GKE) senza interrompere l'esecuzione carichi di lavoro con scale out impegnativi.

Informazioni sui tag di rete

I tag di rete sono metadati sulle macchine virtuali (VM) Compute Engine che permettono di applicare route e regole firewall a istanze VM specifiche. In GKE, puoi utilizzare i tag di rete per rendere VPC e le route o le regole firewall applicabili ai nodi nel tuo cluster.

Puoi utilizzare l'API GKE per applicare e aggiornare i tag di rete ai cluster GKE senza interrompere l'esecuzione carichi di lavoro con scale out impegnativi. I tag di rete specificati vengono applicati anche a qualsiasi nuovo nodo GKE esegue automaticamente il provisioning.

Utilizza i tag al posto dei tag di rete

I tag di rete sono semplici stringhe non soggette all'accesso a Identity and Access Management i controlli di sicurezza. Chiunque abbia accesso ai tuoi nodi nell'API GKE può aggiungere tag di rete ai nodi.

Se utilizzi GKE 1.28 o versioni successive, ti consigliamo di utilizza i tag con la designazione di firewall per applicare criteri a livello di regione i criteri firewall di rete globali, che migliorano le capacità delle regole firewall VPC.

I tag sono coppie chiave-valore che colleghi a Compute Engine delle VM in esecuzione. Puoi utilizzare IAM per controllare chi può interagire a tag specifici.

Opzioni della riga di comando per l'applicazione dei tag di rete

Nella tabella seguente vengono descritti i flag che puoi specificare utilizzando il comando Google Cloud CLI per applicare i tag di rete ai cluster e al loro utilizzo d'uso diversi.

Bandiera Modalità di funzionamento Livello Descrizione
--autoprovisioning-network-tags
  • Autopilot
  • Standard
Cluster

Applica i tag di rete specificati a tutti i nodi Autopilot e per tutti i pool di nodi Standard di cui è stato eseguito il provisioning automatico.

--tags
  • Standard
Pool di nodi

Applica manualmente i tag di rete a pool di nodi standard specifici.

Limitazioni

Se usi --autoprovisioning-network-tags non potrai usare --tags per l'aggiornamento i tag di rete per i pool di nodi standard con provisioning automatico.

Ti consigliamo di utilizzare --autoprovisioning-network-tags per il provisioning automatico pool di nodi e che utilizzi --tags solo per i pool di nodi creati manualmente.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Attiva l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine .
  • Se vuoi utilizzare Google Cloud CLI per questa attività, install e poi inizializzare con 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 Autopilot in un cluster Kubernetes.
  • LOCATION: la località di Compute Engine per il nuovo cluster.
  • TAG1,TAG2, ...: un elenco separato da virgole della rete che vuoi applicare.

Aggiungi tag di rete ai nuovi cluster standard

Per la versione standard, puoi anche specificare e 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 applica 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 nuovo standard in un cluster Kubernetes.
  • COMPUTE_REGION: la località di Compute Engine per il nuovo cluster.
  • NETWORK_TAG1,NETWORK_TAG2, ...: un elenco separato da virgole della 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 tramite il 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 valori separati da virgole elenco dei tag di rete che vuoi 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 uno standard specifico pool di nodi. 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 per il cluster è impostato --autoprovisioning-network-tags, questo comando restituisce un errore.

Aggiornare i tag di rete per i pool di nodi di cui è stato eseguito il provisioning automatico

Puoi aggiornare i tag di rete a cui si applica il provisioning automatico dei nodi pool di nodi nuovi ed esistenti di cui è stato eseguito il provisioning automatico.

Esegui questo comando:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Aggiungi tag di rete ai nuovi pool di nodi standard

Creare un nuovo pool di nodi in un cluster Standard con una rete specifica , 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 nodo piscina.

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 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 applicato 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 nodo piscina.

Se il pool di nodi contiene tag, l'output è simile al seguente:

example-tag

Rimuovi i 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 e dai pool di nodi standard

Puoi rimuovere i tag da tutti i pool di nodi di cui è stato eseguito il provisioning automatico o da specifici pool di nodi.

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 tua possibilità di usare l'opzione --tags per eseguire manualmente specificare i tag di rete per i pool di nodi di cui è stato eseguito il provisioning automatico.

Rimuovere i tag di rete da pool di nodi specifici

Per rimuovere tag di rete da pool di nodi specifici, esegui seguente comando:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=""

Passaggi successivi