Auf dieser Seite wird beschrieben, wie Sie einen Dienst erstellen und Informationen dazu aufrufen. Dienste sind die wichtigsten Ressourcen von Cloud Run. Jeder Dienst hat eine eindeutige und permanente URL, die sich im Laufe der Zeit nicht ändert, wenn Sie neue Überarbeitungen bereitstellen.
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 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.
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 Console oder die gcloud-Befehlszeile aufrufen:
Console
So rufen Sie die Liste der Dienste 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.
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:
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 gewünschten Konfigurationsänderungen für den 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
So rufen Sie weitere Details zu einem Dienst auf:
Console
So sehen Sie sich die Details eines Dienstes an:
Klicken Sie in der Liste der in Ihrem Projekt ausgeführten Dienste auf den gewünschten Dienst, um dessen Details aufzurufen.
gcloud
So rufen Sie Details zu einem Dienst auf:
gcloud run services describe SERVICEErsetzen Sie SERVICE durch den Namen des Dienstes.
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 einem 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 Admin (roles/run.admin
) für Ihr Projekt zu erteilen, um die Berechtigungen zu erhalten, die Sie benötigen, um einen bestehenden Cloud Run-Dienst und eine Überarbeitung zu deaktivieren.
Cloud Run bietet keine direkte Möglichkeit, die Trafficbereitstellung durch einen Dienst zu beenden. Sie haben jedoch die Möglichkeit, Identitäten, die den Dienst aufrufen, die Berechtigung zum Aufrufen des Dienstes zu entziehen. Wenn Ihr Dienst „öffentlich“ ist, müssen Sie außerdem allUsers
aus der Rolle Cloud Run-Aufrufer (roles/run.invoker
) entfernen.
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 Container Registry entfernt. Informationen zum Löschen von Container-Images, die von den gelöschten Überarbeitungen aus Container 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.
Console
So löschen Sie einen Dienst:
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 dem 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.