Creare e gestire tag nei cluster collegati ad AKS

Questa pagina mostra come creare e gestire i tag nei cluster GKE collegati.

Panoramica

Un tag è una coppia chiave-valore che può essere collegata a una risorsa all'interno di Google Cloud. Puoi utilizzare i tag per consentire o negare in modo condizionale i criteri a seconda che una risorsa abbia un tag specifico.

In qualità di amministratore della piattaforma, un caso d'uso per i tag potrebbe essere quello di concedere in modo condizionale i ruoli IAM (Identity and Access Management) in base al fatto che un cluster abbia un tag specifico. Ad esempio, puoi configurare GKE in modo da concedere automaticamente i ruoli Identity and Access Management agli utenti che sono collaboratori, in modo che possano accedere a cluster specifici normalmente disponibili solo per i dipendenti a tempo pieno.

Dopo aver creato un tag, puoi collegarlo a una risorsa Google Cloud come coppia chiave-valore utilizzando un'associazione tag. Per ogni chiave, puoi collegare un valore a una risorsa. Ad esempio, se hai collegato env:dev al tuo cluster, non puoi collegare anche env:prod o env:test. Puoi allegare fino a 50 tag a ogni risorsa.

Nei cluster GKE collegati, esistono diversi metodi per annotare le risorse, come descritto nella tabella seguente:

Tipo di annotazione Livello Descrizione Esempio
Tag Cluster GKE

Consenti o nega in modo condizionale i criteri in base al tag.

Per saperne di più, consulta la panoramica dei tag nella documentazione di Resource Manager.

Concedi automaticamente agli utenti che sono collaboratori l'accesso a cluster specifici che normalmente sono disponibili solo per i dipendenti a tempo pieno.
Etichette del cluster GKE Cluster GKE

Organizza le risorse GKE per monitorare l'utilizzo e la fatturazione.

Per saperne di più, consulta Etichette dei cluster.

Distinguere tra i cluster di proprietà di centri di costo o team specifici della tua organizzazione.
Etichette Kubernetes Cluster GKE

Associa tra loro componenti e risorse del cluster e gestisci i cicli di vita delle risorse.

Per saperne di più, consulta Etichette e selettori Kubernetes.

Richiedi che i workload vengano pianificati su nodi con etichette specifiche.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:

  • Attiva l'API Google Kubernetes Engine.
  • Attiva l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installala e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima versione eseguendo il comando gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
  • Assicurati di disporre dei seguenti ruoli IAM per lavorare con i tag:

    • roles/resourcemanager.tagAdmin
    • roles/resourcemanager.tagUser

    Per informazioni sulle autorizzazioni concesse da questi ruoli, consulta Autorizzazioni richieste.

Crea chiavi e valori dei tag

Prima di poter collegare un tag alle risorse GKE, devi creare il tag e configurarne i valori. Per creare chiavi e valori tag, consulta Creazione di un tag e Aggiunta di valori tag nella documentazione di Resource Manager.

Associare tag a un cluster

Puoi collegare i tag a un cluster esistente se disponi delle autorizzazioni corrette utilizzando Google Cloud CLI, la console Google Cloud o l'API Tags.

gcloud

Per creare un binding dei tag per collegare un tag a un cluster, esegui questo comando:

gcloud resource-manager tags bindings create \
    --tag-value=TAG_VALUE_ID \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Sostituisci quanto segue:

  • TAG_VALUE_ID: l'ID permanente o il nome con spazio dei nomi del valore del tag da allegare. Ad esempio, tagValues/4567890123. Per informazioni dettagliate sugli identificatori dei tag, vedi Definizioni e identificatori dei tag.
  • RESOURCE_ID: il nome completo della risorsa del cluster, ad esempio //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Nell'ID risorsa:

    • PROJECT_ID: l'ID progetto Google Cloud .
    • CLUSTER_NAME: il nome del cluster.
  • CLUSTER_LOCATION: il nome della località Google Cloud da cui viene gestito il cluster.

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud .

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Nella sezione Metadati, accanto a Tag, fai clic su Modifica tag.

  4. Se la tua organizzazione non viene visualizzata nel riquadro Tag, fai clic su Seleziona ambito. Seleziona la tua organizzazione e fai clic su Apri.

  5. Nel riquadro Tag, seleziona Aggiungi tag.

  6. Seleziona dall'elenco la chiave del tag che vuoi allegare. Puoi filtrare l'elenco digitando parole chiave.

  7. Seleziona dall'elenco il valore del tag che vuoi allegare. Puoi filtrare l'elenco digitando parole chiave.

  8. Fai clic su Salva.

  9. Nella finestra di dialogo Conferma, fai clic su Conferma per allegare il tag.

    Una notifica conferma l'aggiornamento dei tag.

API

Per associare un tag a una risorsa, devi prima creare una rappresentazione JSON di un'associazione di tag che includa gli ID permanenti del valore del tag e della risorsa. Per ulteriori informazioni sul formato di un'associazione di tag, consulta la documentazione di riferimento di TagBinding.

Utilizza il metodo tagBindings.create con l'endpoint in cui si trova il cluster.

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Sostituisci LOCATION con la Google Cloud posizione in cui si trova il cluster, ad esempio us-central1.

Corpo della richiesta JSON:

{
  "parent": "RESOURCE_ID",
  "tagValue": "TAG_VALUE_ID"
}

Sostituisci quanto segue:

  • RESOURCE_ID: il nome completo della risorsa del cluster, ad esempio //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Nell'ID risorsa:

    • PROJECT_ID: l'ID progetto Google Cloud .
    • CLUSTER_NAME: il nome del cluster.
  • TAG_VALUE_ID: l'ID permanente o il nome con spazio dei nomi del valore del tag da allegare. Ad esempio, tagValues/4567890123. Per informazioni dettagliate sugli identificatori dei tag, vedi Definizioni e identificatori dei tag.

L'output è simile al seguente:

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.TagBinding",
    "name": "tagBindings///container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME/tagValues/TAG_VALUE_ID",
    "parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME",
    "tagValue": "TAG_VALUE_ID"
  }
}

Elenca i tag collegati a un cluster

Puoi elencare i tag collegati a un cluster utilizzando gcloud CLI, la console Google Cloud o l'API Tags.

gcloud

Per ottenere un elenco delle associazioni di tag collegate a un cluster, esegui questo comando:

gcloud resource-manager tags bindings list \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Sostituisci quanto segue:

  • RESOURCE_ID: il nome completo della risorsa del tuo cluster, ad esempio //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Nell'ID risorsa:

    • PROJECT_ID: l'ID progetto Google Cloud .

    • CLUSTER_NAME: il nome del cluster.

  • CLUSTER_LOCATION: la Google Cloud posizione in cui si trova il cluster.

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud .

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster che vuoi visualizzare.

  3. Nella sezione Metadati, accanto a Tag, cerca i valori dei tag attualmente allegati.

API

Per ottenere un elenco delle associazioni di tag per un cluster, utilizza il metodo tagBindings.list con l'endpoint in cui si trova il cluster.

GET https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Corpo della richiesta JSON:

{
  "parent": RESOURCE_ID,
}

Sostituisci quanto segue:

  • RESOURCE_ID: il nome completo della risorsa del tuo cluster, ad esempio //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Nell'ID risorsa:

    • PROJECT_ID: l'ID progetto Google Cloud .
    • CLUSTER_NAME: il nome del cluster.

L'output è simile al seguente:

"tagBindings": [
  {
    "name": "tagBindings/%2F%2Fcontainer.googleapis.com%2Fprojects%2Ftags-bugbash-project%2Flocations%2Fus-central1%2Fclusters%2Ftestcluster/tagValues/758072120217",
    "parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME",
    "tagValue": "TAG_VALUE_ID"
  }
]

Scollegare i tag da un cluster

Puoi scollegare un tag da un cluster eliminando la risorsa di associazione dei tag collegata al cluster utilizzando gcloud CLI, la console Google Cloud o l'API Tags. Se devi eliminare un tag, devi prima scollegarlo da tutte le risorse associate.

gcloud

Per scollegare un'associazione tag collegata a un cluster, esegui questo comando:

gcloud resource-manager tags bindings delete \
    --tag-value=TAG_VALUE_ID \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Sostituisci quanto segue:

  • TAG_VALUE_ID: l'ID permanente o il nome con spazio dei nomi del valore tag da scollegare. Ad esempio, tagValues/4567890123. Per informazioni dettagliate sugli identificatori dei tag, vedi Definizioni e identificatori dei tag.

  • RESOURCE_ID: il nome completo della risorsa del tuo cluster, ad esempio //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Nell'ID risorsa:

    • PROJECT_ID: l'ID progetto Google Cloud .

    • CLUSTER_NAME: il nome del cluster.

  • CLUSTER_LOCATION: la Google Cloud posizione in cui si trova il cluster.

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud .

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.

  3. Nella sezione Metadati, accanto a Tag, fai clic su Modifica tag.

  4. Nel riquadro Tag, accanto al tag da staccare, fai clic su Elimina elemento.

  5. Fai clic su Salva.

  6. Nella finestra di dialogo Conferma, fai clic su Conferma per staccare il tag.

    Una notifica conferma l'aggiornamento dei tag.

API

Per eliminare le associazioni di tag per un cluster, utilizza il metodo tagBindings.delete con l'endpoint in cui si trova il cluster.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAG_BINDING_NAME

Sostituisci TAG_BINDING_NAME con il nome completo della risorsa dell'oggetto tagBinding che vuoi scollegare. Ad esempio tagBindings/container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/tagValues/TAG_VALUE_ID.

Eliminare chiavi e valori dei tag

Prima di eliminare chiavi e valori tag, assicurati che i tag siano scollegati da tutte le risorse. Poi, consulta la sezione Eliminare i tag per eliminare le chiavi e i valori.

Condizioni e tag di Identity and Access Management

Puoi utilizzare i tag e le condizioni IAM per concedere in modo condizionale le associazioni di ruoli agli utenti nella gerarchia del progetto. Quando modifichi o elimini il tag associato a un cluster con una policy IAM con associazioni di ruoli condizionali, GKE rivaluta le autorizzazioni di accesso in base alle condizioni aggiornate.

L'autorizzazione per elencare e creare cluster GKE viene verificata a livello di progetto, non a livello di singolo cluster. Se utilizzi associazioni di ruoli IAM condizionali con tag a livello di cluster per limitare l'accesso a cluster specifici, questi utenti potrebbero riscontrare errori quando tentano di elencare o creare cluster nel progetto. Per evitare questi errori, associa un tag al progetto padre e utilizza un'associazione di ruoli condizionale per concedere l'accesso all'elenco o crearlo. Per informazioni su ruoli e autorizzazioni, consulta il riferimento ai ruoli IAM.

Per saperne di più sulle concessioni di accesso condizionale in IAM, consulta Condizioni e tag di Identity and Access Management.

Passaggi successivi