Labels verwenden

Auf dieser Seite wird beschrieben, wie Sie Labels für Ihren Cloud Run-Dienst, Überarbeitungen und Cloud Run-Jobs festlegen, ändern und löschen. Bei Cloud Run sind Labels Schlüssel/Wert-Paare, die auf den Dienst, die Überarbeitung oder den Job angewendet werden. Wenn Sie ein Label für einen Cloud Run-Dienst festlegen, wird für diesen Dienst oder mit diesem Label eine neue Dienstüberarbeitung erstellt. Das Label wird nicht auf ältere Überarbeitungen angewendet.

Mögliche Anwendungsfälle:

  • Verwendung für die Kostenzuordnung und Abrechnungsaufschlüsselung.
  • Ressourcen identifizieren, die von einzelnen Teams oder Kostenstellen verwendet werden.
  • Bereitstellungsumgebungen unterscheiden (Produktion, Staging, QA oder Test).
  • Inhaber, Labels für Status identifizieren.
  • Logs in Logging filtern

Nutzungsregeln für Labels

Für die Verwendung von Labels, die für einen Cloud Run-Dienst oder -Job festgelegt wurden, gilt die folgende Regel:

Nur gültige Google Cloud-Labels dürfen in Cloud Run verwendet werden

Labels festlegen oder ändern

Sie können Labels für Cloud Run-Dienste und -Jobs festlegen.

Für Cloud Run-Dienste

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Sie können Labels über die Google Cloud Console, die gcloud-Befehlszeile oder eine YAML-Datei ändern, wenn Sie eine neue Überarbeitung bereitstellen.

Console

  1. Öffnen Sie Cloud Run.

  2. Aktivieren Sie das Kästchen links neben dem Dienst, für den Sie das Label festlegen möchten.

  3. Achten Sie darauf, dass das Infofeld ganz rechts aktiviert ist (Infofeld anzeigen).

  4. Klicken Sie auf Labels, um den Bereich mit den Labels aufzurufen.

    Label festlegen

  5. Wenn Sie ein vorhandenes Schlüssel/Wert-Paar-Label bearbeiten möchten, suchen Sie nach dem Label und ändern Sie den Wert wie gewünscht.

  6. Wenn Sie ein neues Label für den Dienst festlegen möchten, klicken Sie auf Label hinzufügen und geben Sie den Schlüssel und den Wert ein.

  7. Klicken Sie auf Speichern.

Befehlszeile

Sie können Labels für einen Dienst mit dem folgenden Befehl aktualisieren:

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

Wenn Sie mehrere Labels aktualisieren möchten, geben Sie eine durch Kommas getrennte Liste von Schlüssel/Wert-Paaren an. Beachten Sie, dass mit dem Befehl update-labels ein neuer Wert für den Labelschlüssel festgelegt wird, wenn das Label bereits vorhanden ist. Andernfalls wird ein neues Label erstellt.

Ersetzen

  • SERVICE durch den Namen Ihres Cloud Run-Dienstes
  • KEY durch den Namen Ihres Labelschlüssels
  • VALUE durch den Wert für den Schlüssel.

Sie können Labels auch während der Bereitstellung festlegen:

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

Sie können während der Bereitstellung mehrere Labels erstellen. Geben Sie dafür eine durch Kommas getrennte Liste mit Schlüssel/Wert-Paaren an.

YAML

Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert. Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace hochladen. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie die labels-Attribute an zwei Stellen:

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

    Ersetzen

    • SERVICE durch den Namen Ihres Cloud Run-Dienstes
    • LABEL durch den Namen des Labels
    • VALUE durch den gewünschten Wert.
    • REVISION durch einen neuen Überarbeitungsnamen oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:
      • Beginnt mit SERVICE-
      • Enthält nur Kleinbuchstaben, Ziffern und -
      • Endet nicht mit -
      • Darf nicht mehr als 63 Zeichen enthalten

    metadata.labels legt Labels für das Dienstobjekt fest, während spec.template.metadata.label Labels für die erstellte Überarbeitung festlegt. Nur Labels, die für die Überarbeitung festgelegt wurden, werden an Logs und die Abrechnung übergeben.

  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

    gcloud run services replace service.yaml

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Mit dem folgenden Snippet werden zwei Labels, foo mit dem Wert bar und baz, dessen Wert quux ist, der Cloud Run-Instanz mithilfe eines google_cloud_run_service-Ressource in Ihrer Terraform-Konfiguration hinzugefügt.

Durch Hinzufügen der Labels unter template werden die Labels für die Überarbeitung festgelegt: Nur für die Überarbeitung festgelegte Labels werden an Logs und die Abrechnung übergeben. Wenn Sie die Labels einem anderen Standort als template hinzufügen, wird das Label für den Dienst festgelegt und nicht für die Überarbeitung.

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

  template {
    spec {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/hello"
      }
    }
    metadata {
      # Labels
      # https://cloud.google.com/run/docs/configuring/labels
      labels = {
        foo : "bar"
        baz : "quux"
      }
    }
  }
}

Ersetze

  • name durch den Namen des Dienstes.
  • location durch den Standort, der für Ihren Dienst verwendet wird.
  • image durch Ihr Container-Image.
  • foo und baz durch Ihre eigenen Labelnamen.
  • bar und quux durch Ihre eigenen Labelwerte.

Für Cloud Run-Jobs

Sie können die Google Cloud CLI oder YAML verwenden, um ein Label für einen Cloud Run-Job festzulegen.

Befehlszeile

  1. So legen Sie ein Label für einen neuen Job fest:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --labels KEY=VALUE

    Ersetzen

    • JOB_NAME durch den Namen des Jobs.
    • KEY durch den Namen Ihres Labelschlüssels
    • VALUE durch den Wert für den Schlüssel
    • Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
  2. So legen Sie ein Label für einen vorhandenen Job fest:

    gcloud run jobs update JOB_NAME --labels KEY=VALUE
  3. Wenn Sie mehrere Labels erstellen möchten, geben Sie eine durch Kommas getrennte Liste von Schlüssel/Wert-Paaren an.

    gcloud run jobs update JOB_NAME --labels KEY1=VALUE1,KEY2=VALUE2 

YAML

Laden Sie die vorhandene Jobkonfiguration herunter und verwenden Sie den Befehl gcloud run jobs describe --format export, um bereinigte Ergebnisse im YAML-Format zu erhalten. Ändern Sie dann die unten beschriebenen Felder und laden Sie die geänderte YAML-Datei mit dem Befehl gcloud run jobs replace hoch. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Aktualisieren Sie die labels-Attribute an zwei Stellen:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      labels:
        LABEL: VALUE
    spec:
      template:
        metadata:
          labels:
            LABEL: VALUE

    Ersetzen

    • LABEL durch den Namen des Labels
    • VALUE durch den gewünschten Wert.

    Sie können auch weitere Konfigurationen angeben, z. B. Umgebungsvariablen oder Speicherlimits.

  3. Aktualisieren Sie die vorhandene Jobkonfiguration:

    gcloud run jobs replace job.yaml

Dienste oder Jobs nach Label auflisten

Sie können Dienste oder Jobs mithilfe eines Google Cloud CLI-Filters nach Label auflisten:

Für Dienste:

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

Für Jobs:

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

Ersetzen

  • LABEL durch den Namen des Labels
  • VALUE durch den Wert, der in die gefilterte Liste aufgenommen werden soll

Labels in einem Dienst löschen

Sie können die Konsole oder die Befehlszeile verwenden, um Labels für einen Dienst zu löschen.

Console

  1. Öffnen Sie Cloud Run.

  2. Aktivieren Sie das Kästchen links neben dem Dienst, für den Sie das Label löschen möchten.

  3. Achten Sie darauf, dass das Infofeld ganz rechts aktiviert ist (Infofeld anzeigen).

  4. Klicken Sie auf Labels, um den Bereich mit den Labels aufzurufen.

  5. Suchen Sie das Label, das Sie löschen möchten.

  6. Bewegen Sie den Mauszeiger rechts neben das Textfeld Wert für das Label, damit das Papierkorbsymbol angezeigt wird, und klicken Sie darauf.

  7. Klicken Sie auf Speichern.

Befehlszeile

So löschen Sie alle Labels aus einem Dienst:

gcloud run services update SERVICE --clear-labels

Wenn Sie bestimmte Labels aus einem Dienst löschen möchten, geben Sie eine durch Kommas getrennte Liste von Schlüsseln an:

gcloud run services update SERVICE --remove-labels LABEL

Ersetzen

  • SERVICE durch den Namen Ihres Cloud Run-Dienstes
  • LABEL durch den Namen Ihres Labels

Label in einem Job löschen

So löschen Sie alle Labels für einen Job:

gcloud run jobs update JOB --clear-labels

Wenn Sie bestimmte Labels aus einem Job löschen möchten, geben Sie eine durch Kommas getrennte Liste von Schlüsseln an:

gcloud run jobs update JOB --remove-labels LABEL

Replace

  * <var>JOB</var> with name of your Cloud Run service
  * <var>LABEL</var> with the name of your label