Neustartrichtlinie für Instanzen konfigurieren

Die Neustartrichtlinie der Cloud Run-Instanz bestimmt, ob und wann die Instanz neu gestartet werden soll.

Optionen für die Neustartrichtlinie

Wählen Sie eine der folgenden Neustartrichtlinien aus:

  • on-failure (Standard): Wenn ein Container mit einem Statuscode ungleich null beendet wird oder wenn bei einem Container Infrastrukturfehler auftreten, wird die Instanz neu gestartet. Bei Instanzen mit mehreren Containern bedeutet dies, dass ein Fehler bei einem Container dazu führt, dass die gesamte Instanz neu gestartet wird.
  • always: Wenn ein Container beendet wird, wird die Instanz immer neu gestartet. Dazu gehören auch saubere Beendigungen mit dem Code 0.
  • never: Die Instanz wird nie neu gestartet. Wenn ein Container beendet wird, wechselt die Instanz sofort in den Status STOPPED oder FAILED.

Wenn Sie die Neustartrichtlinie always oder on-failure für Ihre Instanz konfigurieren, wird die Instanz am Ende eines etwa 7‑tägigen Lebenszyklus automatisch neu gestartet. Sie wird also unbegrenzt ausgeführt, sofern sie nicht anderweitig unterbrochen wird.

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:

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

Neustartrichtlinie konfigurieren

Konfigurieren Sie die Neustartrichtlinie für eine Cloud Run-Instanz mit der Google Cloud CLI oder YAML:

gcloud

So geben Sie eine Neustartrichtlinie beim Bereitstellen einer neuen Instanz an:

gcloud beta run instances deploy INSTANCE \
    --image=IMAGE_URL \
    --restart-policy=POLICY

So aktualisieren Sie die Neustartrichtlinie einer vorhandenen Instanz:

gcloud beta run instances update INSTANCE \
    --restart-policy=POLICY

Ersetzen Sie Folgendes:

  • INSTANCE: der Name der Instanz.
  • IMAGE_URL: ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest.
  • POLICY: die anzuwendende Neustartrichtlinie. Wählen Sie on-failure, always oder never aus.

YAML

  1. Wenn Sie eine neue Instanz erstellen, überspringen Sie diesen Schritt. Wenn Sie eine vorhandene Instanz aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Das folgende Beispiel enthält die YAML-Konfiguration:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - name: CONTAINER_NAME
        image: IMAGE_URL
      restartPolicy: POLICY

    Ersetzen Sie Folgendes:

    • INSTANCE: der Name Ihrer Cloud Run-Instanz.
    • CONTAINER_NAME: der Name des Containers.
    • IMAGE_URL: ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest.
    • POLICY: die anzuwendende Neustartrichtlinie. Wählen Sie on-failure, always oder never aus.
  3. Erstellen oder aktualisieren Sie die Instanz mit dem folgenden Befehl:

    gcloud beta run instances replace instance.yaml