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.

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

Befehlszeile

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

Um die Liste der Dienste in Ihrem Projekt aufzurufen, senden Sie eine GET-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 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

Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert. Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace hochladen. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Nehmen Sie die gewünschten 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
  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.

Befehlszeile

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 --format yaml

Sie können --format export für den Export im YAML-Format ohne automatisch generierte Labels oder Status verwenden:

gcloud run services describe SERVICE --format export

Sie können auch das Flag --format verwenden, um die URL des Dienstes abzurufen:

gcloud run services describe SERVICE --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 GET-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 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

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.

Befehlszeile

Verwenden Sie zum Löschen eines Dienstes folgenden Befehl:

gcloud run services delete [SERVICE]

Ersetzen Sie [SERVICE] durch den Namen Ihres 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.