Creare e gestire i tag in GKE su Azure
Questa pagina mostra come creare e gestire i tag nei cluster GKE su Azure.
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 le policy a seconda che una risorsa abbia un tag specifico.
In qualità di amministratore della piattaforma, un caso d'uso per i tag potrebbe essere la concessione condizionale dei ruoli IAM (Identity and Access Management) a seconda che un cluster abbia un tag specifico. Ad esempio, puoi configurare GKE in modo che conceda automaticamente i ruoli Identity and Access Management agli utenti che sono appaltatori, in modo che possano accedere a cluster specifici che in genere sono disponibili solo per i dipendenti a tempo pieno.
Dopo aver creato un tag, puoi collegarlo a una Google Cloud risorsa come coppia
chiave-valore utilizzando un'associazione di tag. Per ogni chiave, puoi collegare un valore a una risorsa. Ad esempio, se hai collegato env:dev a un cluster GKE su Azure, non puoi collegare anche env:prod o env:test. Puoi collegare fino a 50 tag a ogni risorsa.
In GKE su Azure, esistono diversi metodi per annotare le risorse, come indicato 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 appaltatori l'accesso a cluster specifici che in genere sono disponibili solo per i dipendenti a tempo pieno. |
| Etichette dei cluster GKE | Cluster GKE |
Organizza le risorse GKE per monitorare l'utilizzo e la fatturazione. Per saperne di più, consulta Etichette dei cluster. |
Differenzia i cluster di proprietà di centri di costo o team specifici in your organization. |
| Etichette Kubernetes | Cluster GKE |
Associa i componenti e le risorse del cluster tra loro e gestisci i cicli di vita delle risorse. Per saperne di più, consulta Etichette e selettori Kubernetes. |
Richiedi che i carichi di lavoro vengano pianificati sui nodi con etichette specifiche. |
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à,
installala e poi
inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima
versione eseguendo il
gcloud components updatecomando. 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.tagAdminroles/resourcemanager.tagUser
Per informazioni sulle autorizzazioni concesse da questi ruoli, consulta Autorizzazioni richieste nella documentazione di Resource Manager.
- Assicurati di avere un cluster GKE su Azure in esecuzione.
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 dei tag, consulta Creazione di un tag e Aggiunta di valori tag nella documentazione di Resource Manager.
Collega i tag a un cluster
Puoi collegare i tag a un cluster esistente se disponi delle autorizzazioni corrette utilizzando Google Cloud CLI, la Google Cloud console o l' API Tags.
gcloud
Per creare un'associazione di tag per collegare un tag a un cluster, esegui il comando seguente:
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 collegare. Ad esempio,tagValues/4567890123. Per informazioni dettagliate sugli identificatori dei tag, consulta 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/azureClusters/CLUSTER_NAME.Nell'ID risorsa:
PROJECT_ID: l' Google Cloud ID progetto.CLUSTER_NAME: il nome del cluster.
CLUSTER_LOCATION: il nome della Google Cloud località da cui viene gestito il cluster.
Console
Vai alla pagina Google Kubernetes Engine nella Google Cloud console.
Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.
Nella sezione Metadati, accanto a Tag, fai clic Modifica tag.
Se la tua organizzazione non viene visualizzata nel riquadro Tag, fai clic su Seleziona ambito. Seleziona la tua organizzazione e fai clic su Apri.
Nel riquadro Tag, seleziona Aggiungi tag.
Seleziona la chiave del tag che vuoi collegare dall'elenco. Puoi filtrare l'elenco digitando le parole chiave.
Seleziona il valore del tag che vuoi collegare dall'elenco. Puoi filtrare l'elenco digitando le parole chiave.
Fai clic su Salva.
Nella finestra di dialogo Conferma, fai clic su Conferma per collegare il tag.
Una notifica conferma che i tag sono stati aggiornati.
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
località 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/azureClusters/CLUSTER_NAME.Nell'ID risorsa:
PROJECT_ID: l' Google Cloud ID progetto.CLUSTER_NAME: il nome del cluster.
TAG_VALUE_ID: l'ID permanente o il nome con spazio dei nomi del valore del tag da collegare. Ad esempio,tagValues/4567890123. Per informazioni dettagliate sugli identificatori dei tag, consulta 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/azureClusters/CLUSTER_NAME/tagValues/TAG_VALUE_ID",
"parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/azureClusters/CLUSTER_NAME",
"tagValue": "TAG_VALUE_ID"
}
}
Elenca i tag collegati a un cluster
Puoi elencare i tag collegati a un cluster utilizzando la gcloud CLI, la Google Cloud console o l'API Tags.
gcloud
Per ottenere un elenco di associazioni di tag collegate a un cluster, esegui il comando seguente:
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID \
--location=CLUSTER_LOCATION
Sostituisci quanto segue:
RESOURCE_ID: Il nome completo della risorsa del cluster, ad esempio//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/azureClusters/CLUSTER_NAME.Nell'ID risorsa:
PROJECT_ID: l' Google Cloud ID progetto.CLUSTER_NAME: il nome del cluster.
CLUSTER_LOCATION: La Google Cloud località in cui si trova il cluster.
Console
Vai alla pagina Google Kubernetes Engine nella Google Cloud console.
Nell'elenco dei cluster, fai clic sul nome del cluster che vuoi visualizzare.
Nella sezione Metadati, accanto a Tag, cerca i valori dei tag attualmente collegati.
API
Per ottenere un elenco di 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 cluster, ad esempio//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/azureClusters/CLUSTER_NAME.Nell'ID risorsa:
PROJECT_ID: l' Google Cloud ID progetto.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/azureClusters/CLUSTER_NAME",
"tagValue": "TAG_VALUE_ID"
}
]
Scollega i tag da un cluster
Puoi scollegare un tag da un cluster eliminando la risorsa di associazione di tag collegata al cluster utilizzando gcloud CLI, la Google Cloud console o l'API Tags. Se devi eliminare un tag, devi prima scollegarlo da tutte le risorse collegate.
gcloud
Per scollegare un'associazione di tag collegata a un cluster, esegui il comando seguente:
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 del tag da scollegare. Ad esempio,tagValues/4567890123. Per informazioni dettagliate sugli identificatori dei tag, consulta 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/azureClusters/CLUSTER_NAME.Nell'ID risorsa:
PROJECT_ID: l' Google Cloud ID progetto.CLUSTER_NAME: il nome del cluster.
CLUSTER_LOCATION: la località in cui si trova il cluster. Google Cloud
Console
Vai alla pagina Google Kubernetes Engine nella Google Cloud console.
Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.
Nella sezione Metadati, accanto a Tag, fai clic Modifica tag.
Nel riquadro Tag, accanto al tag che vuoi scollegare, fai clic su Elimina elemento.
Fai clic su Salva.
Nella finestra di dialogo Conferma, fai clic su Conferma per scollegare il tag.
Una notifica conferma che i tag sono stati aggiornati.
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'tagBinding
oggetto che vuoi scollegare. Ad esempio,
tagBindings/container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/tagValues/TAG_VALUE_ID.
Elimina chiavi e valori dei tag
Prima di eliminare chiavi e valori dei tag, assicurati che i tag siano scollegati da tutte le risorse. Poi, consulta 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 della gerarchia del progetto. Quando modifichi o elimini il tag collegato 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 le associazioni di ruoli IAM condizionali con i tag a livello di cluster per limitare l'accesso a cluster specifici, gli utenti potrebbero riscontrare errori quando tentano di elencare o creare cluster nel progetto. Per evitare questi errori, collega un tag al progetto padre e utilizza un'associazione di ruoli condizionale per concedere l'accesso all'elenco o alla creazione. Per informazioni su ruoli e autorizzazioni, consulta la documentazione di riferimento dei ruoli IAM.
Per saperne di più sulle concessioni di accesso condizionale in IAM, consulta Condizioni e tag di Identity and Access Management.
Passaggi successivi
- Scopri come impostare una policy dell'organizzazione con i tag.
- Scopri di più su come gestire i tag e collegarli alle risorse.
- Scopri gli altri servizi che supportano i tag.
- Scopri come utilizzare i tag con IAM.