Wenn Sie Umgebungsvariablen festlegen, werden diese in den Container eingefügt und sind für Ihren Code aufrufbar. Umgebungsvariablen werden als Schlüssel/Wert-Paare festgelegt.
Reservierte Namen
Die im Containerlaufzeitvertrag definierten Umgebungsvariablen sind reserviert. Sie können nicht festgelegt werden. Im Speziellen wird die Umgebungsvariable PORT
von Cloud Run in Ihren Container eingefügt. Sie sollten die Variable nicht selbst festlegen.
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:
-
Rolle Cloud Run Entwickler (
roles/run.developer
) im Cloud Run-Job -
Dienstkontonutzer (
roles/iam.serviceAccountUser
) für die Dienstidentität
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
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 Umgebungsvariablen über die Google Cloud Console, die gcloud-Befehlszeile oder eine YAML-Datei festlegen, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen:
Console
Rufen Sie in der Google Cloud Console Cloud Run auf.
Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.
Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen wie gewünscht aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.
Klicken Sie auf den Tab Container.
- Gehen Sie dazu so vor:
- Wenn Sie eine Variable hinzufügen, klicken Sie auf Variable hinzufügen. Dann geben Sie den gewünschten Namen für die Variable und ihren Wert in den Textfeldern Name und Wert an.
- Falls Sie einen Wert für eine Variable ändern möchten, ersetzen Sie den aktuellen Wert im Textfeld Wert durch den gewünschten neuen Wert.
- Möchten Sie eine oder mehrere Umgebungsvariablen entfernen, bewegen Sie den Cursor links neben das Textfeld Wert der Variablen, die Sie entfernen möchten. Daraufhin wird das Papierkorbsymbol angezeigt. Klicken Sie darauf.
- Gehen Sie dazu so vor:
Klicken Sie auf Erstellen oder Bereitstellen.
gcloud
Verwenden Sie zum Festlegen, Aktualisieren oder Entfernen von Umgebungsvariablen eines vorhandenen Dienstes den Befehl gcloud run services update. Sie können nach Bedarf eines der folgenden Flags verwenden:
Sie können Umgebungsvariablen beim Bereitstellen eines Dienstes angeben oder nach dem Erstellen des Dienstes aktualisieren:
gcloud run deploy [SERVICE] --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
- Ersetzen Sie SERVICE durch den Namen des Dienstes.
- Ersetzen Sie KEY1=VALUE1,KEY2=VALUE2 durch die durch Kommas getrennte Liste der gewünschten Variablennamen und ihrer Werte.
- Ersetzen Sie 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 FormLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
YAML
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
Aktualisieren Sie die Attribute
name
undvalue
unter dem Attributenv
untercontainers:
: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 Sie
- 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 FormLOCATION-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
- Beginnt mit
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 für Ihre spezifischen Anforderungen:
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
Rufen Sie in der Google Cloud Console Cloud Run auf.
Klicken Sie auf den gewünschten Dienst, um die Seite Dienstdetails zu öffnen.
Klicken Sie auf den Tab Überarbeitungen.
Im Detailbereich auf der rechten Seite ist die Einstellung für Umgebungsvariablen auf dem Tab Container aufgelistet.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run services describe SERVICE
Suchen Sie in der zurückgegebenen Konfiguration nach Einstellung für Umgebungsvariablen.
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 Buildpack-Konfiguration festzulegen. Sprachspezifische Informationen finden Sie in der Buildpacks-Dokumentation zu folgenden Themen: