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
Aktivieren Sie das Kästchen links neben dem Dienst, für den Sie das Label festlegen möchten.
Achten Sie darauf, dass das Infofeld ganz rechts aktiviert ist (Infofeld anzeigen).
Klicken Sie auf Labels, um den Bereich mit den Labels aufzurufen.
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.
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.
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.
So rufen Sie die Konfiguration auf und laden sie herunter:
gcloud run services describe SERVICE --format export > service.yaml
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
- Beginnt mit
metadata.labels
legt Labels für das Dienstobjekt fest, währendspec.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.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.
Ersetze
name
durch den Namen des Dienstes.location
durch den Standort, der für Ihren Dienst verwendet wird.image
durch Ihr Container-Image.foo
undbaz
durch Ihre eigenen Labelnamen.bar
undquux
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
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
.
So legen Sie ein Label für einen vorhandenen Job fest:
gcloud run jobs update JOB_NAME --labels KEY=VALUE
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.
So rufen Sie die Konfiguration auf und laden sie herunter:
gcloud run jobs describe JOB_NAME --format export > job.yaml
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.
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
Aktivieren Sie das Kästchen links neben dem Dienst, für den Sie das Label löschen möchten.
Achten Sie darauf, dass das Infofeld ganz rechts aktiviert ist (Infofeld anzeigen).
Klicken Sie auf Labels, um den Bereich mit den Labels aufzurufen.
Suchen Sie das Label, das Sie löschen möchten.
Bewegen Sie den Mauszeiger rechts neben das Textfeld Wert für das Label, damit das Papierkorbsymbol angezeigt wird, und klicken Sie darauf.
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