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 Code0.never: Die Instanz wird nie neu gestartet. Wenn ein Container beendet wird, wechselt die Instanz sofort in den StatusSTOPPEDoderFAILED.
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:
- Cloud Run-Entwickler (
roles/run.developer) für die Cloud Run-Instanz - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
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 Sieon-failure,alwaysoderneveraus.
YAML
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
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 Sieon-failure,alwaysoderneveraus.
Erstellen oder aktualisieren Sie die Instanz mit dem folgenden Befehl:
gcloud beta run instances replace instance.yaml