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 code0.never: l'instance ne redémarre jamais. Lorsqu'un conteneur s'arrête, l'instance passe immédiatement à l'étatSTOPPEDouFAILED.
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 :
- Développeur Cloud Run (
roles/run.developer) sur l'instance Cloud Run - Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur l'identité du service
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 queus-docker.pkg.dev/cloudrun/container/hello:latest.POLICY: règle de redémarrage à appliquer. Choisissez entreon-failure,alwaysounever.
YAML
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
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 queus-docker.pkg.dev/cloudrun/container/hello:latest.POLICY: règle de redémarrage à appliquer. Choisissez entreon-failure,alwaysounever.
Créez ou mettez à jour l'instance à l'aide de la commande suivante :
gcloud beta run instances replace instance.yaml