Configurare le etichette per i servizi

Le etichette Cloud Run sono coppie chiave-valore applicate al servizio e alle revisioni Cloud Run. Questa pagina mostra come impostare, modificare ed eliminare le etichette nel servizio e nelle revisioni Cloud Run. Tieni presente che quando imposti un'etichetta su un servizio Cloud Run, viene creata una nuova revisione con questa etichetta per il servizio; l'etichetta non viene applicata alle revisioni precedenti.

Gli utilizzi possibili includono:

  • Allocazione dei costi e analisi dettagliate della fatturazione.
  • Identificare le risorse utilizzate da singoli team o centri di costo.
  • Distinguere gli ambienti di deployment (produzione, gestione temporanea, controllo qualità o test).
  • Identifica i proprietari e le etichette di stato.
  • Filtra i log in Logging.

Regole di utilizzo delle etichette

La seguente regola si applica all'utilizzo delle etichette impostate su un servizio Cloud Run:

In Cloud Run possono essere utilizzate solo etichette Google Cloud valide.

Etichette per i dati di fatturazione e il logging

La fatturazione Cloud e Cloud Logging ricevono solo le etichette specificate nell'attributo spec.template.metadata.labels in YAML o in template in Terraform. Se configuri le etichette utilizzando la consoleGoogle Cloud o Google Cloud CLI, Cloud Run aggiunge le etichette agli attributi metadata.labels e spec.template.metadata.labels.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare ed eseguire il deployment di servizi Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Se esegui il deployment di un servizio o di una funzione dal codice sorgente, devi disporre anche di ruoli aggiuntivi concessi nel tuo progetto e nel account di servizio Cloud Build.

Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo servizio Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.

Imposta o modifica le etichette

Qualsiasi modifica alla configurazione porta alla creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.

Le etichette impostate in precedenza per Cloud Run Functions utilizzando i comandi gcloud functions o l'API Cloud Functions v2 vengono propagate a Cloud Run quando esegui il deployment delle funzioni in Cloud Run.

Puoi impostare o modificare le etichette utilizzando la console Google Cloud , Google Cloud CLI o un file YAML quando esegui il deployment di una nuova revisione.

Console

  1. Nella console Google Cloud , vai alla pagina Servizi di Cloud Run:

    Vai a Cloud Run

  2. Seleziona la casella di controllo a sinistra del servizio per cui stai impostando l'etichetta.

  3. Fai clic su Etichette per visualizzare il riquadro delle etichette.

  4. Per modificare un valore di chiave di etichetta esistente, individua l'etichetta e modifica il valore.

  5. Per impostare una nuova etichetta sul servizio, fai clic su Aggiungi etichetta e fornisci la chiave e il valore.

  6. Fai clic su Salva.

gcloud

Puoi aggiornare le etichette di un servizio utilizzando il comando:

gcloud run services update SERVICE --update-labels KEY=VALUE

Per aggiornare più di un'etichetta, fornisci un elenco di coppie chiave-valore delimitate da virgole. Tieni presente che il comando update-labels imposta un nuovo valore per la chiave dell'etichetta se l'etichetta esiste già, altrimenti ne crea una nuova.

Sostituisci quanto segue:

  • SERVICE: il nome del tuo servizio Cloud Run
  • KEY: il nome della chiave dell'etichetta
  • VALUE: il valore della chiave

Puoi anche impostare le etichette durante il deployment:

gcloud run deploy SERVICE --image IMAGE --labels KEY=VALUE

Per creare più di un'etichetta durante il deployment, fornisci un elenco di coppie chiave/valore delimitate da virgole.

YAML

  1. Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aggiorna gli attributi labels in due posizioni:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: VALUE
    spec:
      template:
        metadata:
          labels:
            LABEL: VALUE
          name: REVISION

    Sostituisci quanto segue:

    • SERVICE: il nome del tuo servizio Cloud Run
    • LABEL: il nome dell'etichetta
    • VALUE: il valore richiesto
    • REVISION: un nuovo nome della revisione o eliminalo (se presente). Se fornisci un nuovo nome della revisione, questo deve soddisfare i seguenti criteri:
      • Inizia con SERVICE-
      • Contiene solo lettere minuscole, numeri e -
      • Non termina con -
      • Non supera i 63 caratteri

    metadata.labels imposta le etichette sull'oggetto del servizio, mentre spec.template.metadata.labels imposta le etichette sulla revisione creata. Cloud Run propaga solo le etichette impostate sulla revisione a Cloud Logging e alla fatturazione Cloud.

  3. Crea o aggiorna il servizio utilizzando il seguente comando:

    gcloud run services replace service.yaml

    Il comando gcloud run services replace utilizza per impostazione predefinita il file service.yaml, se presente.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Aggiungi quanto segue a una risorsa google_cloud_run_v2_service nella configurazione Terraform:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-labels"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    # Labels
    labels = {
      foo : "bar"
      baz : "quux"
    }
  }
}

Lo snippet precedente aggiunge due etichette, foo (il cui valore è bar) e baz (il cui valore è quux), alla tua istanza Cloud Run.

L'aggiunta delle etichette in template imposta le etichette per la revisione: solo le etichette impostate per la revisione vengono passate a Cloud Logging e fatturazione Cloud. Se aggiungi le etichette in una posizione diversa da template, l'etichetta viene impostata per il servizio, non per la revisione.

Sostituisci quanto segue:

  • name: il nome del servizio.
  • location: la località utilizzata per il servizio.
  • image: la tua immagine container.
  • foo e baz: i nomi delle tue etichette.
  • bar e quux: i valori delle tue etichette.

Elenca i servizi per etichetta

Puoi elencare i servizi per etichetta utilizzando un filtro di Google Cloud CLI:

  gcloud run services list --filter metadata.labels.LABEL=VALUE
  

Sostituisci quanto segue:

  • LABEL: il nome dell'etichetta
  • VALUE: il valore da includere nell'elenco filtrato

Elimina un'etichetta su un servizio

Puoi utilizzare la console o la riga di comando per eliminare le etichette di un servizio.

Console

  1. Nella console Google Cloud , vai alla pagina Servizi di Cloud Run:

    Vai a Cloud Run

  2. Seleziona la casella di controllo a sinistra del servizio da cui stai eliminando l'etichetta.

  3. Fai clic su Etichette per visualizzare il riquadro delle etichette.

  4. Tieni il puntatore a destra del campo Valore per visualizzare l'icona del cestino. Fai clic su Elimina elemento.

  5. Fai clic su Salva.

gcloud

Per cancellare tutte le etichette da un servizio:

gcloud run services update SERVICE --clear-labels

Per eliminare etichette specifiche da un servizio, fornisci un elenco di chiavi delimitato da virgole:

gcloud run services update SERVICE --remove-labels LABEL

Sostituisci quanto segue:

  • SERVICE: il nome del tuo servizio Cloud Run
  • LABEL: il nome dell'etichetta