Configurare le etichette per i servizi

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

Ecco alcuni possibili utilizzi:

  • Allocazione dei costi e suddivisioni della fatturazione.
  • Identificazione delle risorse utilizzate da singoli team o centri di costo.
  • Distinzione degli ambienti di deployment (produzione, gestione temporanea, controllo qualità o test).
  • Identificazione dei proprietari e delle etichette di stato.
  • Filtro dei log in Logging.

Regole di utilizzo delle etichette

Alla creazione di etichette su un servizio Cloud Run si applica la seguente regola:

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

Etichette per dati di fatturazione e logging

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 Google Cloud console o Google Cloud CLI, Cloud Run aggiunge le etichette a entrambi gli 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 altri ruoli concessi nel 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.

Impostare o modificare le etichette

Qualsiasi modifica alla configurazione comporta la creazione di una nuova revisione. Le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che tu non apporti aggiornamenti espliciti per modificarla.

Le etichette che hai impostato in precedenza per le funzioni Cloud Run 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 Google Cloud console, Google Cloud CLI, o un file YAML quando esegui il deployment di una nuova revisione.

Console

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

    Vai a Cloud Run

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

  3. Assicurati che il riquadro Informazioni all'estrema destra sia attivato (Mostra riquadro Informazioni).

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

    Imposta etichetta

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

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

  7. 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 delimitato 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 servizio Cloud Run
  • KEY: il nome della chiave di 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 delimitato 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 servizio Cloud Run
    • LABEL: il nome dell'etichetta
    • VALUE: il valore richiesto
    • REVISION con un nuovo nome di revisione o eliminalo (se presente). Se fornisci un nuovo nome di revisione, questo deve soddisfare i seguenti criteri:
      • Inizia con SERVICE-
      • Contiene solo lettere minuscole, numeri e -
      • Non termina con un -
      • 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 Fatturazione Cloud.

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

    gcloud run services replace service.yaml

Terraform

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

Aggiungi quanto segue a una google_cloud_run_v2_service risorsa nella configurazione di 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), all'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 a 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: l'immagine container.
  • foo e baz: i nomi delle etichette.
  • bar e quux: i valori delle etichette.

Elencare i servizi per etichetta

Puoi elencare i servizi per etichetta utilizzando un filtro 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

Eliminare un'etichetta su un servizio

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

Console

  1. Nella Google Cloud console, 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. Assicurati che il riquadro Informazioni all'estrema destra sia attivato (Mostra riquadro Informazioni).

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

  5. Individua l'etichetta da eliminare.

  6. Passa il mouse a destra della casella di testo Valore dell'etichetta per visualizzare l'icona del cestino e fai clic su di essa.

  7. 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 servizio Cloud Run
  • LABEL: il nome dell'etichetta