Le etichette sono un modo semplice per organizzare i deployment correlati o associati tra loro. Ad esempio, una pratica comune consiste nell'etichettare separatamente i deployment destinati alla produzione, allo staging o allo sviluppo, in modo da poter cercare facilmente i deployment appartenenti a ogni fase, se necessario.
Cosa sono le etichette?
Un'etichetta è una coppia chiave-valore che puoi assegnare ai Google Cloud deployment. Ti aiutano a organizzare queste risorse e a gestire i costi su larga scala, con la granularità di cui hai bisogno. Puoi collegare un'etichetta a ogni risorsa, quindi filtrare le risorse in base alle relative etichette. Le informazioni relative alle etichette vengono inoltrate al sistema di fatturazione, che ti consente di suddividere gli addebiti fatturati in base all'etichetta. Con i report di fatturazione integrati, puoi filtrare e raggruppare i costi in base alle etichette delle risorse. Puoi anche utilizzare le etichette per eseguire query sulle esportazioni dei dati di fatturazione.
Requisiti per le etichette
Le etichette applicate a una risorsa devono soddisfare i seguenti requisiti:
- Ogni risorsa può avere fino a 64 etichette.
- Ogni etichetta deve essere una coppia chiave/valore.
- Le chiavi hanno una lunghezza minima di 1 carattere e una lunghezza massima di 63 caratteri e non possono essere vuote. I valori possono essere vuoti e avere una lunghezza massima di 63 caratteri.
- Chiavi e valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8; sono consentiti i caratteri internazionali. Le chiavi devono iniziare con una lettera minuscola o un carattere internazionale.
- La parte della chiave di un'etichetta deve essere univoca all'interno di una singola risorsa. Tuttavia, puoi utilizzare la stessa chiave con più risorse.
Questi limiti si applicano alla chiave e al valore di ogni etichetta e alle singole Google Cloud risorse che hanno etichette. Non esiste un limite al numero di etichette che puoi applicare a tutte le risorse di un progetto.
Utilizzi comuni delle etichette
Di seguito sono riportati alcuni casi d'uso comuni per le etichette:
Etichette di team o centro di costo: aggiungi etichette basate su team o centro di costo per distinguere i deployment di proprietà di team diversi (ad esempio,
team:researcheteam:analytics). Le etichette di questo tipo sono utili per la contabilità dei costi o la definizione del budget.Etichette dei componenti: ad esempio,
component:redis,component:frontend,component:ingest, ecomponent:dashboard.Etichette di ambiente o fase: ad esempio,
environment:productioneenvironment:test.Etichette di stato: ad esempio,
state:active,state:readytodeleteestate:archive.Etichette di proprietà: utilizzate per identificare i team responsabili delle operazioni, ad esempio:
team:shopping-cart.
Non è consigliabile creare un numero elevato di etichette univoche, ad esempio per timestamp o valori individuali per ogni chiamata API. Il problema di questo approccio è che, quando i valori cambiano di frequente o con chiavi che ingombrano il catalogo, è difficile filtrare e generare report sulle risorse in modo efficace.
Etichette e tag
Le etichette possono essere utilizzate come annotazioni su cui è possibile eseguire query per le risorse, ma non possono essere utilizzate per impostare condizioni sulle policy. I tag forniscono un modo per consentire o negare in modo condizionale le policy a seconda che una risorsa abbia un tag specifico, fornendo un controllo granulare sulle policy. Per saperne di più, consulta la panoramica dei tag.
Creazione di un deployment con etichette
Quando crei un deployment, puoi aggiungere etichette fornendo una o più coppie chiave-valore come etichette. Se hai un deployment esistente, puoi aggiornarlo per aggiungere nuove etichette o modificare quelle esistenti.
Devi utilizzare gcloud CLI o l'API per creare un deployment con etichette.
gcloud
In gcloud, aggiungi etichette al deployment fornendo il flag --labels, seguito da un elenco separato da virgole di coppie chiave-valore. Ad esempio, il seguente comando aggiunge due etichette al deployment, environment=production e storage=media:
gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
--labels environment=production,storage=media
Per visualizzare le etichette applicate al deployment, ottieni una descrizione del deployment:
gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: environment
value: production
- key: storage
value: media
manifest: manifest-1492533767362
name: example-deployment
operation:
endTime: '2017-04-18T09:43:04.581-07:00'
name: operation-1492533767010-54d7398ff76d1-7930b926-f64e72ae
operationType: insert
progress: 100
startTime: '2017-04-18T09:42:48.034-07:00'
status: DONE
user:user@example.com
API
Nell'API, segui le istruzioni per
creare il deployment
e includi la nuova proprietà labels nel corpo della richiesta. Ad esempio:
{
"name": "example-deployment",
"target": {
"config": {
"content": "..."
},
}
"labels": [
{
"key": "environment",
"value": "production"
},
{
"key": "storage",
"value": "media"
}
]
}
Rimozione di etichette
Console
Vai alla pagina Deployment nella Google Cloud console.
Se richiesto, seleziona il progetto e fai clic su Continua.
Seleziona la casella accanto al deployment da cui vuoi rimuovere le etichette. Viene visualizzato un riquadro laterale.
Fai clic su X accanto a ogni etichetta che vuoi rimuovere.
Salva le modifiche.
gcloud
In gcloud, rimuovi le etichette utilizzando il comando deployments update e fornendo il flag --remove-labels, seguito da un elenco separato da virgole di chiavi di etichetta da rimuovere.
Ad esempio, il seguente comando rimuove un'etichetta con la chiave environment:
gcloud deployment-manager deployments update example-deployment --remove-labels environment
API
Nell'API, segui le istruzioni per
aggiornare il deployment
e includi un aggiornamento del deployment che non contenga la proprietà
labels nel corpo della richiesta, rimuovendo di fatto le etichette.
Aggiunta o aggiornamento di etichette
Puoi aggiungere nuove etichette o aggiornare le etichette sui deployment esistenti.
Console
Vai alla pagina Deployment nella Google Cloud console.
Se richiesto, seleziona il progetto e fai clic su Continua.
Seleziona la casella accanto al deployment da cui vuoi aggiornare le etichette. Viene visualizzato un riquadro laterale.
Per modificare i valori delle etichette, aggiorna le voci delle etichette appropriate. Se vuoi modificare la chiave di etichetta, devi eliminare l'etichetta e aggiungerla di nuovo con la nuova chiave.
Salva le modifiche.
gcloud
In gcloud, aggiorna o aggiungi nuove etichette utilizzando il comando deployments update e fornendo il flag --update-labels, seguito da un elenco separato da virgole delle etichette aggiornate:
Ad esempio, il seguente comando aggiorna l'etichetta environment:
gcloud deployment-manager deployments update example-deployment --update-labels environment=production
API
Nell'API, segui le istruzioni per
aggiornare il deployment
e, nel corpo della richiesta, ometti la proprietà labels, che rimuove
le etichette dal deployment.
Aggiunta di etichette durante le anteprime dei deployment
Prima di creare un deployment, puoi visualizzarne l'anteprima. Nell'ambito dell'anteprima, puoi assegnare etichette al deployment visualizzato in anteprima. Ad esempio:
gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
--labels environment=production --preview
Per modificare le etichette durante l'anteprima, devi aggiornare l'anteprima con le nuove etichette. Per saperne di più sulle anteprime, consulta la documentazione Visualizzazione dell'anteprima di una configurazione.
Filtro delle ricerche utilizzando le etichette
Puoi cercare le risorse e filtrare i risultati in base alle etichette.
Console
Vai alla pagina Deployment nella Google Cloud console.
Se richiesto, seleziona il progetto e fai clic su Continua.
Nella barra di ricerca, inizia a digitare
labels.e la barra di ricerca elencherà automaticamente le etichette su cui puoi filtrare.
gcloud
In gcloud, effettua una richiesta list e utilizza il flag --filter.
Per filtrare in base alle etichette, utilizza la sintassi labels.[KEY]=[VALUE]. Ad esempio, se vuoi filtrare in base a un'etichetta con environment come chiave e production come valore, puoi eseguire questo comando:
gcloud deployment-manager deployments list --filter labels.environment=production
Per la documentazione completa sulla sintassi dei filtri in gcloud CLI,
consulta la documentazione gcloud topic filters.
API
Nell'API, effettua una richiesta di elenco con un parametro di query filter con codifica URL.
Ad esempio, per filtrare in base a una chiave di etichetta environment uguale al valore production, effettua la seguente richiesta GET:
GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.environment+eq+production
Per saperne di più, consulta la documentazione filter
nel riferimento API.
Passaggi successivi
- Scopri come eliminare i deployment.
- Scopri di più sull'aggiornamento dei deployment esistenti.