Auf dieser Seite wird beschrieben, wie Sie einen Dienst erstellen und Informationen dazu aufrufen.
Jeder Dienst hat eine eindeutige und permanente run.app
-URL, die sich im Laufe der Zeit nicht ändert, wenn Sie neue Überarbeitungen bereitstellen. In Cloud Run bereitgestellte Funktionen werden ebenfalls als Dienst behandelt und erhalten eine run.app
-Adresse. Die permanente Domain des Dienstes besteht aus dem Dienstnamen und einem Hash.
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie für die Verwaltung von Cloud Run-Diensten und -Überarbeitungen benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Run Developer (roles/run.developer
) für Ihren Cloud Run-Dienst zu gewähren.
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-Dienst 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.
Dienste erstellen
Wenn Sie einen neuen Dienst erstellen, stellen Sie dafür erstmals ein Container-Image bereit. Für das Deployment eines neuen Dienstes sind weitere Schritte erforderlich.
Liste der Dienste in Ihrem Projekt ansehen
Sie können eine Liste der in Ihrem Projekt verfügbaren Dienste über die Google Cloud -Konsole oder das Google Cloud CLI aufrufen:
Console
So rufen Sie die Liste der Dienste auf:
Rufen Sie in der Google Cloud Console Cloud Run auf:
Sehen Sie sich die Liste der Dienste für Ihr Projekt an:
gcloud
So listen Sie die Dienste in Ihrem Projekt auf:
gcloud run services list
Jedem Dienst ist eine URL zugeordnet.
Sie können diese Liste nach Attributen der Dienstdefinition filtern, z. B. einem zugewiesenen Label.
Cloud Code
Informationen zum Aufrufen der Dienstliste mit Cloud Code finden Sie in den Anleitungen zu Cloud Run Explorer für IntelliJ und Visual Studio Code.
Clientbibliotheken
So rufen Sie die Liste der Dienste aus Code auf:
REST API
Senden Sie eine GET
-HTTP-Anfrage an den Endpunkt service
der Cloud Run Admin API, um die Liste der Dienste in Ihrem Projekt aufzurufen.
Verwenden Sie zum Beispiel curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services
Ersetzen Sie:
- ACCESS_TOKEN durch ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Aufrufen von Diensten hat.
Wenn Sie beispielsweise in gcloud angemeldet sind, können Sie ein Zugriffstoken mit
gcloud auth print-access-token
abrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - REGION durch die Google Cloud Region des Dienstes.
- PROJECT-ID durch die Google Cloud Projekt-ID.
Liste der Funktionen in Ihrem Projekt ansehen
Sie können eine Liste der in Ihrem Projekt verfügbaren Funktionen über dieGoogle Cloud -Konsole aufrufen:
Console
So filtern Sie in Ihrer Dienstliste nach Funktionen:
Rufen Sie in der Google Cloud Console Cloud Run auf:
Sehen Sie sich die Liste der Dienste für Ihr Projekt an:
Wählen Sie Dienste filtern > Bereitstellungstyp > Funktion aus.
Wenn Sie Ihre Funktion zuvor mit der Cloud Functions v2 API bereitgestellt haben, wird in der Spalte Bereitgestellt von Cloud Functions angezeigt.
Dienst kopieren
Sie können mithilfe der Google Cloud Console oder mit YAML eine Kopie eines vorhandenen Dienstes erstellen. Sie können beliebige Änderungen an der Kopie vornehmen, auch den Namen und die Region.
Console
So kopieren Sie einen Dienst:
Rufen Sie in der Google Cloud Console Cloud Run auf:
Wählen Sie den zu kopierenden Dienst aus der angezeigten Liste der Dienste für Ihr Projekt aus:
Klicken Sie auf Kopieren.
Legen Sie auf der Dienstkopie-Seite die Werte fest, die Sie ändern möchten, z. B. die Region. Wenn Sie dieselbe Region beibehalten, müssen Sie einen neuen Namen für den Dienst angeben.
Klicken Sie auf Erstellen, um eine Kopie zu erstellen und mit dem neuen Dienstnamen bereitzustellen.
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
Nehmen Sie die folgenden Konfigurationsänderungen am Dienst vor.
apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: ... name: SERVICE ... spec: template: metadata: annotations: ... name: REVISION
- Sollten Sie die Kopie nicht in einer anderen Region bereitstellen, ersetzen Sie SERVICE durch den Namen, den Sie für die Kopie verwenden möchten. Wenn Sie dagegen die Kopie in einer anderen Region bereitstellen, können Sie den alten Namen verwenden.
- 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
Kopieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Verwenden Sie das Flag
--region
, um die Kopie in einer anderen Region bereitzustellen.
Weitere Details zu einem Dienst ansehen
Sie können weitere Details zu einem Dienst über die Google Cloud Console, das Google Cloud CLI, eine YAML-Datei oder die REST API aufrufen:
Console
So sehen Sie sich die Details eines Dienstes an:
Rufen Sie in der Google Cloud Console Cloud Run auf:
Klicken Sie in der angezeigten Liste der Dienste auf den gewünschten Dienst, um die Detailansicht des Dienstes zu öffnen.
gcloud
So rufen Sie Details zu einem Dienst auf:
gcloud run services describe SERVICE
Mit dem Flag --format
können Sie die Ausgabe formatieren. Zum Beispiel als YAML:
gcloud run services describe SERVICE --region REGION --format yaml
Ersetzen Sie:
- SERVICE durch den Namen des Dienstes.
- REGION durch die Google Cloud Region des Dienstes.
Sie können --format export
für den Export im YAML-Format ohne automatisch generierte Labels oder Status verwenden:
gcloud run services describe SERVICE --region REGION --format export
Sie können auch das Flag --format
verwenden, um die URL des Dienstes abzurufen:
gcloud run services describe SERVICE --region REGION --format='value(status.url)'
Cloud Code
Informationen zum Aufrufen der Dienstdetails mit Cloud Code finden Sie in den Anleitungen zu Cloud Run Explorer für IntelliJ und Visual Studio Code.
Weitere Informationen zu Dienstüberarbeitungen finden Sie unter Überarbeitungen verwalten.
Clientbibliotheken
So rufen Sie Details zu einem Dienst aus Code auf:
REST API
Wenn Sie Details zu einem Dienst aufrufen möchten, senden Sie eine HTTP-Anfrage GET
an den Endpunkt service
der Cloud Run Admin API.
Verwenden Sie zum Beispiel curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
Ersetzen Sie:
- ACCESS_TOKEN durch ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Aufrufen von Dienstdetails hat.
Wenn Sie beispielsweise in gcloud angemeldet sind, können Sie ein Zugriffstoken mit
gcloud auth print-access-token
abrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - SERVICE-NAME durch den Namen des Dienstes.
- REGION durch die Google Cloud Region des Dienstes.
- PROJECT-ID durch die Google Cloud Projekt-ID.
Vorhandenen Dienst deaktivieren
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Run-Administrator (roles/run.admin
) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Deaktivieren eines vorhandenen Cloud Run-Dienstes und einer Überarbeitung benötigen.
Wenn Sie einen Dienst deaktivieren, werden alle Anfragen, die gerade verarbeitet werden, abgeschlossen.
Alle weiteren Anfragen an die Dienst-URL schlagen jedoch mit einem Service unavailable
- oder Service disabled
-Fehler fehl.
Anfragen an Dienstversionen, die nur aufgrund von Traffic-Tags aktiv sind, sind nicht betroffen, da diese Versionen nicht deaktiviert werden.
Um einen Dienst zu deaktivieren, legen Sie die Skalierung auf null fest. Sie können einen Dienst über die Google Cloud Console, die Google Cloud CLI, eine YAML-Datei oder die API deaktivieren:
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Klicken Sie auf den Dienst, den Sie deaktivieren möchten, um das Detailfeld aufzurufen, und dann oben rechts im Detailfeld auf das Stiftsymbol neben Skalierung.
Suchen Sie das Formular Skalierung bearbeiten und wählen Sie Manuelle Skalierung aus.
Geben Sie im Feld mit der Bezeichnung Anzahl der Instanzen den Wert
0
(Null) ein.Klicken Sie auf Speichern.
gcloud
Verwenden Sie den folgenden Befehl, um die Skalierung auf null zu setzen und einen Dienst zu deaktivieren:
gcloud run services update SERVICE --scaling=0
Ersetzen Sie SERVICE durch den Namen Ihres Dienstes.
YAML
Laden Sie die YAML-Konfiguration Ihres Dienstes herunter:
gcloud run services describe SERVICE --format export > service.yaml
Setzen Sie das Attribut
manualInstanceCount
auf null (0
):apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/scalingMode: manual run.googleapis.com/manualInstanceCount: `0`
Ersetzen Sie SERVICE durch den Namen Ihres Cloud Run-Dienstes.
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
REST API
Senden Sie zum Deaktivieren eines Dienstes eine PATCH
-HTTP-Anfrage an den Endpunkt service
der Cloud Run Admin API.
Verwenden Sie zum Beispiel curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"scaling":{"manualInstanceCount":0 }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE?update_mask=scaling.manualInstanceCount
Ersetzen Sie Folgendes:
- ACCESS_TOKEN: Ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Aktualisieren eines Dienstes hat.
Wenn Sie beispielsweise in
gcloud
angemeldet sind, können Sie ein Zugriffstoken mitgcloud auth print-access-token
abrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - SERVICE ist der Name des Diensts.
- REGION: die Google Cloud Region, in der der Dienst bereitgestellt wird.
- PROJECT_ID: die Google Cloud Projekt-ID.
Terraform
Um einen Dienst zu deaktivieren, legen Sie das Attribut manual_instance_count
auf null (0
) fest:
resource "google_cloud_run_v2_service" "default" {
name = "SERVICE_NAME"
location = "REGION"
template {
containers {
image = "IMAGE_URL"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "0"
}
}
Ersetzen Sie Folgendes:
- SERVICE_NAME: Der Name Ihres Cloud Run-Dienstes.
- REGION: die Google Cloud Region. Beispiel:
europe-west1
. - IMAGE_URL: ein 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 das FormatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
Vorhandene Dienste löschen
Die folgenden Überlegungen gelten für das Löschen eines Dienstes:
- Wenn Sie einen Dienst löschen, werden alle damit verbundenen Ressourcen gelöscht. Dies gilt auch für alle Überarbeitungen des Dienstes, ungeachtet dessen, ob darüber Traffic weitergeleitet wird.
- Durch das Löschen eines Dienstes werden Container-Images nicht automatisch aus Artifact Registry entfernt. Informationen zum Löschen von Container-Images, die von den gelöschten Überarbeitungen aus Artifact Registry verwendet wurden, finden Sie unter Images löschen.
- Wenn Sie einen Dienst mit einem oder mehreren Eventarc-Triggern löschen, werden diese Trigger nicht automatisch gelöscht. Informationen zum Löschen der Trigger finden Sie unter Trigger verwalten.
- Nach dem Löschen bleibt der Dienst in der Google Cloud Console und in der Befehlszeile sichtbar, bis der Löschvorgang vollständig ist. Sie können den Dienst jedoch nicht aktualisieren.
- Das Löschen der Dienste kann nicht rückgängig gemacht und die Dienste können nicht wiederhergestellt werden. Wenn Sie jedoch nach dem Löschen eines Dienstes einen neuen Dienst mit demselben Namen in derselben Region bereitstellen, erhält er dieselbe Endpunkt-URL.
- Wenn Sie eine Cloud Run-Funktion löschen, werden keine neuen Anfragen mehr akzeptiert. Cloud Run beendet jedoch nicht sofort alle laufenden Instanzen. Stattdessen wird die Funktion bis zum Abschluss der Aufgabe innerhalb des konfigurierten Zeitlimits ausgeführt. Dadurch kann es sein, dass die Funktion in den Logs noch kurz nach dem Löschen als aktiv angezeigt wird.
Sie können einen Dienst oder eine Funktion über die Google Cloud -Konsole, die Google Cloud CLI, eine YAML-Datei oder die REST API löschen:
Console
So löschen Sie einen Dienst:
Rufen Sie in der Google Cloud Console Cloud Run auf:
Klicken Sie in der Übersicht das Kästchen des zu löschenden Dienstes an.
Klicken Sie auf LÖSCHEN. Dadurch werden alle Überarbeitungen des Dienstes gelöscht.
gcloud
Verwenden Sie zum Löschen eines Dienstes folgenden Befehl:
gcloud run services delete SERVICE --region REGION
Ersetzen
- SERVICE durch den Namen des Dienstes.
- REGION durch die Google Cloud Region des Dienstes.
Clientbibliotheken
So löschen Sie einen Dienst aus Code:
REST API
Senden Sie zum Löschen eines Dienstes eine DELETE
-HTTP-Anfrage an den Endpunkt service
der Cloud Run Admin API.
Verwenden Sie zum Beispiel curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME
Ersetzen Sie:
- ACCESS_TOKEN durch ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Löschen eines Dienstes hat.
Wenn Sie beispielsweise in gcloud angemeldet sind, können Sie ein Zugriffstoken mit
gcloud auth print-access-token
abrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - SERVICE-NAME durch den Namen des Dienstes.
- REGION durch die Google Cloud Region des Dienstes.
- PROJECT-ID durch die Google Cloud Projekt-ID.