Umgebungsvariablen konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Umgebungsvariablen für Ihren Cloud Run-Dienst konfigurieren. Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Bereitstellen von Cloud Run-Diensten benötigen:

Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run Service mit Google Cloud APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.

Umgebungsvariablen festlegen

Sie können Umgebungsvariablen über die Google Cloud Console, die gcloud CLI oder eine YAML-Datei festlegen, wenn Sie einen neuen Dienst erstellen oder eine neue Version bereitstellen:

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Zu Cloud Run

  2. Klicken Sie auf Container bereitstellen und wählen Sie Dienst aus, um einen neuen Dienst zu konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus und klicken Sie dann auf Container, Volumes, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Image

    • Klicken Sie auf Variable hinzufügen, um eine neue Variable hinzuzufügen. Geben Sie dann in den Feldern Name und Wert den gewünschten Namen und Wert für die Variable an.
  5. Klicken Sie auf Erstellen oder Bereitstellen.

gcloud

Sie können Umgebungsvariablen beim Bereitstellen eines Dienstes angeben oder nach dem Erstellen des Dienstes aktualisieren:

Verwenden Sie das Flag --set-env-vars, um beim Bereitstellen Ihres Dienstes Umgebungsvariablen anzugeben:

gcloud run deploy SERVICE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Ersetzen Sie:

  • SERVICE durch den Namen des Dienstes.
  • KEY1=VALUE1,KEY2=VALUE2 durch die durch Kommas getrennte Liste der Variablennamen und ‑werte.
  • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Wenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat die Form LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

YAML

  1. Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie die Attribute name und value unter dem Attribut env unter containers::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            env:
            - name: KEY-1
              value: VALUE-1
            - name: KEY-N
              value: VALUE-N

    Ersetzen

    • SERVICE durch den Namen Ihres Cloud Run-Dienstes
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Wenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat die Form LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • KEY-1, VALUE-1 durch die Umgebungsvariable und den Wert. Fügen Sie bei Bedarf weitere Variablen und Werte hinzu.
    • 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
  3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

    gcloud run services replace service.yaml

Terraform

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

Die folgende google_cloud_run_v2_service-Ressource setzt die Umgebungsvariable foo auf bar und die Umgebungsvariable baz auf quux. Aktualisieren Sie die Umgebungsvariablen nach Bedarf:

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

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      # Environment variables
      env {
        name  = "foo"
        value = "bar"
      }
      env {
        name  = "baz"
        value = "quux"
      }
    }
  }
}

Umgebungsvariablen festlegen

Wenn Sie zu viele Umgebungsvariablen haben, die nicht einfach im Format KEY1=VALUE1,KEY2=VALUE2 aufgelistet werden können, können Sie die oben aufgeführten Flags alternativ mehrmals wiederholen:

   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

Escape-Zeichen

Da das Komma , verwendet wird, um Umgebungsvariablen aufzuteilen, wenn Ihre Umgebungsvariable Kommas als Werte enthält, müssen Sie diese Trennzeichen vermeiden und ein anderes Trennzeichen angeben, zum Beispiel @:

--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Standardumgebungsvariablen im Container festlegen

Sie können die ENV-Anweisung in einer Dockerfile verwenden, um Standardwerte für Umgebungsvariablen festzulegen:

ENV KEY1=VALUE1,KEY2=VALUE2

Reihenfolge der Priorität: Container- im Vergleich zu Dienst- oder Jobvariablen

Wenn im Container eine Standard-Umgebungsvariable und für den Cloud Run-Dienst oder Job eine Umgebungsvariable mit demselben Namen festgelegt ist, hat der für den Dienst festgelegte Wert Vorrang.

Einstellungen für Umgebungsvariablen ansehen

So rufen Sie die aktuellen Einstellungen für Umgebungsvariablen für Ihren Cloud Run-Dienst auf:

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Zu Cloud Run

  2. Klicken Sie auf den gewünschten Dienst, um die Seite Dienstdetails zu öffnen.

  3. Klicken Sie auf den Tab Überarbeitungen.

  4. Im Detailbereich auf der rechten Seite ist die Einstellung für Umgebungsvariablen auf dem Tab Container aufgelistet.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration nach Einstellung für Umgebungsvariablen.

Umgebungsvariablen aktualisieren

Sie können Laufzeit-Umgebungsvariablen für vorhandene Dienste aktualisieren. Bei diesem nicht destruktiven Ansatz werden Laufzeit-Umgebungsvariablen geändert oder hinzugefügt, jedoch nicht gelöscht.

Console

So aktualisieren Sie Laufzeit-Umgebungsvariablen mithilfe der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Zu Cloud Run

  2. Wählen Sie Ihren Dienst in der Liste aus und klicken Sie auf Neue Version bearbeiten und bereitstellen.

  3. Klicken Sie auf den Tab Container.

  4. Bearbeiten Sie auf dem Tab Variablen und Secrets die Felder Name oder Wert und klicken Sie auf Fertig.

  5. Klicken Sie auf Bereitstellen.

gcloud

Verwenden Sie das Flag --update-env-vars, um Umgebungsvariablen eines vorhandenen Dienstes zu aktualisieren:

gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Ersetzen Sie:

  • SERVICE durch den Namen des Dienstes.
  • KEY1=VALUE1,KEY2=VALUE2 durch die durch Kommas getrennte Liste der Variablennamen und ‑werte.

Verwenden Sie den Befehl gcloud beta run multi-region-services update, um Umgebungsvariablen eines vorhandenen multiregionalen Dienstes zu aktualisieren.

Umgebungsvariablen löschen

Console

So löschen Sie Laufzeit-Umgebungsvariablen mithilfe der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console Cloud Run auf.

    Zu Cloud Run

  2. Wählen Sie Ihren Dienst in der Liste aus und klicken Sie auf Neue Version bearbeiten und bereitstellen.

  3. Klicken Sie auf den Tab Container.

  4. Bewegen Sie den Cursor auf dem Tab Variablen und Secrets links neben das Feld Wert der Umgebungsvariablen, die Sie entfernen möchten. Daraufhin wird das Symbol Löschen angezeigt. Klicken Sie darauf.

  5. Klicken Sie auf Fertig.

  6. Klicken Sie auf Bereitstellen.

gcloud

Verwenden Sie das Flag --remove-env-vars,um Umgebungsvariablen eines vorhandenen Dienstes selektiv zu entfernen:

gcloud run services update SERVICE --remove-env-vars KEY1,KEY2

Ersetzen Sie:

  • SERVICE durch den Namen des Dienstes.
  • KEY1,KEY2 mit einer durch Kommas getrennten Liste von Variablennamen.

Alternativ können Sie alle zuvor festgelegten Umgebungsvariablen mit dem Flag --clear-env-vars löschen:

gcloud run services update SERVICE --clear-env-vars

Ersetzen Sie:

  • SERVICE durch den Namen des Dienstes.

Beispielcode

Ein Codebeispiel für den Zugriff auf Umgebungsvariablen in Ihrem Code finden Sie in der Anleitung zur Endnutzerauthentifizierung unter Mit Secret Manager vertrauliche Konfigurationen verwalten.

Nächste Schritte

Sie können Umgebungsvariablen verwenden, um die buildpacks festzulegen. Sprachspezifische Informationen finden Sie in der Dokumentation zu Buildpacks für: