Dienste verwalten

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:

  1. Öffnen Sie Cloud Run.

  2. Sehen Sie sich die Liste der Dienste für Ihr Projekt an:

    Liste der Dienste

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:

  1. Öffnen Sie Cloud Run.

  2. Wählen Sie den zu kopierenden Dienst aus der angezeigten Liste der Dienste für Ihr Projekt aus:

    Liste der Dienste

    1. Klicken Sie auf Kopieren.

    2. 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.

    3. Klicken Sie auf Erstellen, um eine Kopie zu erstellen und mit dem neuen Dienstnamen bereitzustellen.

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. 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
  3. 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:

  1. Öffnen Sie Cloud Run.

  2. 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 SERVICE
Ersetzen 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:

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie in der Übersicht das Kästchen des zu löschenden Dienstes an.

  3. 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.