Auf dieser Seite wird beschrieben, wie Sie einzeln adressierbare Singleton-Cloud Run-Instanzen erstellen und verwalten. Im Gegensatz zu Cloud Run-Diensten, die basierend auf eingehendem Traffic skaliert werden, ist eine Instanz ein dedizierter Compute-Container, den Sie manuell über Lebenszyklusübergänge (Erstellen, Beenden, Starten, Aktualisieren, Löschen) verwalten.
Unterstützte Regionen
Cloud Run-Instanzen können in allen unterstützten Regionen erstellt werden, mit Ausnahme der folgenden Regionen:
europe-west1us-central1us-east1
Hinweis
Richten Sie ein neues Projekt für Cloud Run ein, wie auf der Seite Einrichtung beschrieben.
Aktivieren Sie die Cloud Run Admin API:
gcloud services enable run.googleapis.comAktualisieren Sie die Komponenten von
gcloudauf die neueste Version:gcloud components update
Wenn Sie einer Organisationsrichtlinie zur Domaineinschränkung nicht eingeschränkter Aufrufe für Ihr Projekt unterliegen, müssen Sie auf Ihren bereitgestellten Dienst zugreifen, wie unter Private Dienste testen beschrieben.
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-Instanzen benötigen:
- Rolle Cloud Run-Entwickler (
roles/run.developer) in der Cloud Run-Instanz - 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 Ihre Cloud Run-Instanz mitGoogle 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.
Instanz erstellen
Sie können ein Container-Image bereitstellen, um eine neue Instanz zu erstellen. Wenn Sie keinen Namen angeben, wird automatisch einer generiert.
gcloud
So erstellen Sie eine neue Cloud Run-Instanz mit dem Befehl gcloud beta run instances create:
gcloud beta run instances create INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
So erstellen Sie eine neue Cloud Run-Instanz mit dem Befehl gcloud beta run instances deploy:
gcloud beta run instances deploy INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
Ersetzen Sie Folgendes:
INSTANCE_NAME: Der Name der Instanz, die Sie erstellen. Der Instanzname darf innerhalb Ihres Projekts und Ihrer Region nur einmal vorkommen. Sie können keine Instanz mit demselben Namen wie eine vorhandene Cloud Run-Instanz oder ein vorhandener Cloud Run-Dienst erstellen.IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/instances:latest.REGION: Die Google Cloud Region, in der Sie Ihre Instanz ausführen, z. B.europe-west1.
Clientbibliotheken
So erstellen Sie eine neue Instanz aus Code:
REST API
Senden Sie zum Erstellen einer neuen Cloud Run-Instanz eine POST-HTTP-Anfrage an den instances-Endpunkt.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "containers": [{ "image": "IMAGE_URL", "ports": [{"containerPort": PORT}] }], "ingress": "INGRESS_TRAFFIC_ALL", "invokerIamDisabled": true, "timeout": "3600s" }' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances?instance_id=INSTANCE_NAME"
Ersetzen Sie Folgendes:
IMAGE_URL: die URL Ihres Container-Images.PORT: der Port, auf dem Ihr Container auf Anfragen wartet.PROJECT_ID: Projekt-ID in Google Cloud .REGION: die Google Cloud Region Ihrer Bereitstellung.INSTANCE_NAME: der Name der neuen Instanz.
Nachdem Sie eine Instanz erstellt haben, erhält sie eine Cloud Run-URL im folgenden Format:
https://INSTANCE_NAME-PROJECT_NUMBER.REGION.run.app
Instanz aktualisieren
Wenn Sie eine Instanz aktualisieren, z. B. ihr Container-Image, ihren Port oder ihre Umgebungsvariablen, wird die Instanz neu gestartet.
gcloud
So aktualisieren Sie eine Cloud Run-Instanz mit dem Befehl gcloud beta run instances update:
gcloud beta run instances update INSTANCE_NAME \ --image NEW_IMAGE_URL \ --region REGION
So aktualisieren Sie eine Cloud Run-Instanz mit dem Befehl gcloud beta run instances deploy:
gcloud beta run instances deploy INSTANCE_NAME \ --image IMAGE_URL \ --region REGION
REST API
Wenn Sie die Konfiguration einer Cloud Run-Instanz über die API aktualisieren möchten, senden Sie eine PATCH-HTTP-Anfrage an den URI-Endpunkt der Instanz.
curl -H "Content-Type: application/json" \ -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{template: {containers: [{image: "IMAGE_URL"}]}}' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Instanz beenden
Verwenden Sie den Befehl oder die Methode „stop“, um eine laufende Cloud Run-Instanz zu beenden.
gcloud
So beenden Sie eine Instanz:
gcloud beta run instances stop INSTANCE_NAME \ --region REGION
Clientbibliotheken
So beenden Sie eine laufende Instanz aus Code:
REST API
Wenn Sie eine Instanz beenden möchten, senden Sie eine POST-HTTP-Anfrage mit dem :stop-Decorator:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:stop"
Instanz starten oder neu starten
Verwenden Sie den Befehl oder die Methode „start“, um eine angehaltene Instanz zu starten oder einen Neustart einer vorhandenen Instanz zu erzwingen.
gcloud
So starten oder starten Sie eine Instanz neu:
gcloud beta run instances start INSTANCE_NAME \ --region REGION
Clientbibliotheken
So starten Sie eine angehaltene Instanz aus Code:
REST API
Senden Sie zum Starten einer Instanz eine POST-HTTP-Anfrage mit dem :start-Decorator:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:start"
Liste der Instanzen in Ihrem Projekt ansehen
Sie können alle aktiven und inaktiven Instanzen in Ihrem Projekt aufrufen.
gcloud
So listen Sie die Instanzen in einer bestimmten Region auf:
gcloud beta run instances list \ --region REGION
Ersetzen Sie REGION durch die Google Cloud Region, in der Sie die Instanz ausführen.
Clientbibliotheken
So listen Sie aktive und inaktive Instanzen aus Code auf:
REST API
Senden Sie eine GET-HTTP-Anfrage, um eine Liste von Instanzen abzurufen:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"
Instanzdetails anzeigen
Verwenden Sie den Befehl oder die Methode „describe“, um Konfigurationsdetails und den aktuellen Status aufzurufen.
gcloud
So beschreiben Sie eine Instanz:
gcloud beta run instances describe INSTANCE_NAME \ --region REGION
Clientbibliotheken
So rufen Sie Details und den Status der Instanzkonfiguration aus Code auf:
REST API
Senden Sie zum Beschreiben einer Instanz eine GET-HTTP-Anfrage:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Instanz löschen
Wenn Sie eine Instanz löschen, werden ihre Konfiguration, Metadaten, öffentliche direkte URL-Zuordnung und Identitätsrollen dauerhaft aus Ihrem Projekt entfernt.
gcloud
So löschen Sie eine Instanz:
gcloud beta run instances delete INSTANCE_NAME \ --region REGION
Clientbibliotheken
So löschen Sie eine Instanz aus Code:
REST API
Senden Sie zum Löschen einer Instanz eine DELETE-HTTP-Anfrage:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"
Nächste Schritte
- Informationen zum Aufrufen der Logging-Transaktionen für Ihre Instanzen finden Sie unter Logs in Cloud Run protokollieren und ansehen.
- Cloud Run-Instanz konfigurieren: