Cette page explique comment spécifier l'environnement d'exécution des instances Cloud Run. Par défaut, aucun environnement d'exécution n'est spécifié pour les services Cloud Run, ce qui signifie que Cloud Run sélectionne l'environnement d'exécution en fonction des fonctionnalités utilisées. Si vous ne spécifiez pas d'environnement d'exécution pour votre service, Cloud Run peut sélectionner l'environnement de première ou de deuxième génération.
Notez que les jobs Cloud Run n'utilisent que l'environnement d'exécution de deuxième génération, et que celui-ci ne peut pas être modifié pour les différents jobs.
Consultez la documentation sur les concepts liés aux environnements d'exécution pour obtenir de l'aide concernant le choix de l'environnement le mieux adapté à votre service.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer et déployer des services Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Développeur Cloud Run (
roles/run.developer
) sur le service 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 service Cloud Run communique avec les API Google Cloud, 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.
Définir et mettre à jour l'environnement d'exécution
Tout changement de configuration entraîne la création d'une révision. Les révisions ultérieures obtiennent aussi automatiquement le même paramètre de configuration, à moins que vous ne le mettiez explicitement à jour.
Par défaut, l'environnement d'exécution des services Cloud Run est non spécifié, ce qui signifie que c'est Cloud Run qui va sélectionner un environnement d'exécution approprié. Vous pouvez également spécifier un environnement d'exécution. Pour utiliser l'environnement de deuxième génération, vous devez spécifier au moins 512 Mio de mémoire.
Vous pouvez définir l'environnement d'exécution à l'aide de la console Google Cloud, de la ligne de commande gcloud ou d'un fichier YAML lorsque vous créez un service ou que vous déployez une nouvelle révision :
Console
Dans la console Google Cloud, accédez à Cloud Run :
Cliquez sur Déployer un conteneur et sélectionnez Service pour configurer un nouveau service. Si vous configurez un service existant, cliquez sur celui-ci puis sur Modifier et déployer la nouvelle révision.
Si vous configurez un nouveau service, remplissez la page initiale des paramètres du service, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.
Cliquez sur l'onglet Conteneur.
- Sélectionnez l'environnement d'exécution souhaité à l'aide des boutons d'option. Conservez "Par défaut" pour laisser Cloud Run sélectionner un environnement d'exécution approprié.
Cliquez sur Créer ou Déployer.
gcloud
Vous pouvez mettre à jour l'environnement d'exécution d'un service donné à l'aide de la commande suivante :
gcloud run services update SERVICE --execution-environment ENVIRONMENT
Remplacez SERVICE par le nom de votre service et ENVIRONMENT par l'environnement d'exécution souhaité. Spécifiez la valeur gen1
pour la première génération ou gen2
pour la deuxième génération.
Vous pouvez également définir l'environnement d'exécution lors du déploiement à l'aide de la commande suivante :
gcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT
Remplacer
- IMAGE_URL par une référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante :LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. ENVIRONMENT
par l'environnement d'exécution souhaité. Spécifiez la valeurgen1
pour la première génération ougen2
pour la deuxième génération.
YAML
Si vous créez un service, ignorez cette étape. Si vous mettez à jour un service existant, téléchargez sa configuration YAML :
gcloud run services describe SERVICE --format export > service.yaml
Défininir l'annotation
run.googleapis.com/execution-environment
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/execution-environment: ENVIRONMENT
Remplacer
- SERVICE par le nom de votre service Cloud Run
- ENVIRONMENT par l'environnement d'exécution sélectionné.
Spécifiez la valeur
gen1
pour un environnement de première génération ougen2
pour un environnement de deuxième génération.
Supprimez l'annotation
run.googleapis.com/execution-environment
pour le comportement par défaut.Créez ou mettez à jour le service à l'aide de la commande suivante :
gcloud run services replace service.yaml
Afficher les paramètres de l'environnement d'exécution
Pour afficher les paramètres actuels de l'environnement d'exécution de votre service Cloud Run, procédez comme suit :
Console
Dans la console Google Cloud, accédez à Cloud Run :
Cliquez sur le service qui vous intéresse pour ouvrir la page Informations sur le service.
Cliquez sur l'onglet Révisions.
Dans le panneau de détails situé à droite, le paramètre "Environnement d'exécution" est répertorié sous l'onglet Conteneur.
gcloud
Exécutez la commande suivante :
gcloud run services describe SERVICE
Recherchez le paramètre d'environnement d'exécution dans la configuration renvoyée.