Configurer la règle de redémarrage pour les instances

La règle de redémarrage de l'instance Cloud Run détermine si et quand l'instance doit redémarrer.

Options de règle de redémarrage

Sélectionnez l'une des règles de redémarrage suivantes :

  • on-failure (par défaut) : si un conteneur s'arrête avec un code d'état différent de zéro ou s'il rencontre des défaillances d'infrastructure, l'instance redémarre. Pour les instances multiconteineurs, cela signifie que tout conteneur en échec entraîne le redémarrage de l'ensemble de l'instance.
  • always : lorsqu'un conteneur s'arrête, l'instance redémarre toujours. Cela inclut les arrêts propres avec le code 0.
  • never : l'instance ne redémarre jamais. Lorsqu'un conteneur s'arrête, l'instance passe immédiatement à l'état STOPPED ou FAILED.

Lorsque vous configurez la règle de redémarrage always ou on-failure pour votre instance, celle-ci redémarre automatiquement à la fin d'un cycle de vie d'environ sept jours. Elle s'exécute donc indéfiniment, sauf si elle est interrompue.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer et déployer des instances Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre instance Cloud Run communique avec Google Cloud des API, telles que les bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.

Configurer la règle de redémarrage

Configurez la règle de redémarrage pour une instance Cloud Run à l'aide de Google Cloud CLI ou de YAML :

gcloud

Pour spécifier une règle de redémarrage lors du déploiement d'une nouvelle instance :

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

Pour mettre à jour la règle de redémarrage d'une instance existante :

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

Remplacez les éléments suivants :

  • INSTANCE : nom de l'instance.
  • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
  • POLICY : règle de redémarrage à appliquer. Choisissez entre on-failure, always ou never.

YAML

  1. Si vous créez une instance, ignorez cette étape. Si vous mettez à jour une instance existante, téléchargez sa configuration YAML :

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. L'exemple suivant contient la configuration YAML :

    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

    Remplacez les éléments suivants :

    • INSTANCE: nom de votre instance Cloud Run.
    • CONTAINER_NAME : nom du conteneur.
    • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
    • POLICY : règle de redémarrage à appliquer. Choisissez entre on-failure, always ou never.
  3. Créez ou mettez à jour l'instance à l'aide de la commande suivante :

    gcloud beta run instances replace instance.yaml