Sélectionner un environnement d'exécution (services)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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é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é.
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 :
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ôtREPO_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 valeur gen1 pour la première génération ou gen2 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 :
ENVIRONMENT par l'environnement d'exécution sélectionné.
Spécifiez la valeur gen1 pour un environnement de première génération ou gen2 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 :
gcloudrunservicesreplaceservice.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 :
gcloudrunservicesdescribeSERVICE
Recherchez le paramètre d'environnement d'exécution dans la configuration renvoyée.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/12/05 (UTC)."],[],[],null,["# Select an execution environment for services\n\nThis page describes how to specify the [execution environment](/run/docs/about-execution-environments) of\nCloud Run instances. Cloud Run services by default don't\nhave an execution environment specified, which means Cloud Run selects\nthe execution environment based on the features used. If you don't specify an\nexecution environment for your service, Cloud Run can select either the\nfirst generation or the second generation environment.\n\nNote that Cloud Run jobs only use the second generation\nexecution environment, and this cannot be changed for jobs.\n\nConsult the [execution environments](/run/docs/about-execution-environments) concept\ndocumentation for assistance in choosing the environment that is best for your\nservice.\n\nRequired roles\n--------------\n\n\nTo get the permissions that\nyou need to configure and deploy Cloud Run services,\n\nask your administrator to grant you the\nfollowing IAM roles:\n\n- [Cloud Run Developer](/iam/docs/roles-permissions/run#run.developer) (`roles/run.developer`) on the Cloud Run service\n- [Service Account User](/iam/docs/roles-permissions/iam#iam.serviceAccountUser) (`roles/iam.serviceAccountUser`) on the service identity\n\n\nIf you are deploying a [service](/run/docs/deploying-source-code#required_roles)\nor [function](/run/docs/deploy-functions#required-roles) from source code, you\nmust also have additional roles granted to you on your project and\nCloud Build service account.\n\nFor a list of IAM roles and permissions that are associated with\nCloud Run, see\n[Cloud Run IAM roles](/run/docs/reference/iam/roles)\nand [Cloud Run IAM permissions](/run/docs/reference/iam/permissions).\nIf your Cloud Run service interfaces with\nGoogle Cloud APIs, such as Cloud Client Libraries, see the\n[service identity configuration guide](/run/docs/configuring/services/service-identity).\nFor more information about granting roles, see\n[deployment permissions](/run/docs/reference/iam/roles#additional-configuration)\nand [manage access](/iam/docs/granting-changing-revoking-access).\n\nSet and update execution environment\n------------------------------------\n\nAny configuration change leads to the\ncreation of a new revision. Subsequent revisions will also automatically get\nthis configuration setting unless you make explicit updates to change it.\n\nThe default for Cloud Run services is *unspecified* , which means\nthat Cloud Run selects a suitable execution environment.\nAlternatively, you can specify an execution environment. To use second generation,\nyou must [specify at least 512 MiB of memory](/run/docs/configuring/services/memory-limits).\n\nYou can set the execution environment using the Google Cloud console, the gcloud\ncommand line, or a YAML file when you [create a new service](/run/docs/deploying#service) or\n[deploy a new revision](/run/docs/deploying#revision): \n\n### Console\n\n\n1. In the Google Cloud console, go to Cloud Run:\n\n [Go to Cloud Run](https://console.cloud.google.com/run)\n2. Select **Services** from the menu, and click **Deploy container** to\n configure a new service.\n If you are configuring an existing service, click the\n service, then click **Edit and deploy new revision**.\n\n3. If you are configuring a new service, fill out the initial service\n settings page, then click **Container(s), Volumes, Networking, Security** to expand the\n service configuration page.\n\n4. Click the **Container** tab.\n\n - Select the desired execution environment using the option buttons. Keep \"Default\" to let Cloud Run select a suitable execution environment.\n5. Click **Create** or **Deploy**.\n\n### gcloud\n\nYou can [update the execution environment](/sdk/gcloud/reference/run/services/update)\nfor a given service by using the following command:\n\n\u003cbr /\u003e\n\n```bash\ngcloud run services update SERVICE --execution-environment ENVIRONMENT\n```\n\n\u003cbr /\u003e\n\nReplace \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service and \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e\nwith the desired execution environment. Specify the value `gen1` for first\ngeneration or `gen2` for second generation.\n\nYou can also set the execution environment during\n[deployment](/sdk/gcloud/reference/run/deploy) using the command:\n\n\u003cbr /\u003e\n\n```bash\ngcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT\n```\n\n\u003cbr /\u003e\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e: a reference to the container image, for example, `us-docker.pkg.dev/cloudrun/container/hello:latest`. If you use Artifact Registry, the [repository](/artifact-registry/docs/repositories/create-repos#docker) \u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e must already be created. The URL follows the format of \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e`-docker.pkg.dev/`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`/`\u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e`/`\u003cvar translate=\"no\"\u003ePATH\u003c/var\u003e`:`\u003cvar translate=\"no\"\u003eTAG\u003c/var\u003e .\n- \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e: the desired execution environment. Specify the value `gen1` for first generation or `gen2` for second generation.\n\n### YAML\n\n1. If you are creating a new service, skip this step.\n If you are updating an existing service, download its [YAML configuration](/run/docs/reference/yaml/v1):\n\n ```bash\n gcloud run services describe SERVICE --format export \u003e service.yaml\n ```\n2. set the `run.googleapis.com/execution-environment` annotation:\n\n ```yaml\n apiVersion: serving.knative.dev/v1\n kind: Service\n metadata:\n name: SERVICE\n spec:\n template:\n metadata:\n annotations:\n run.googleapis.com/execution-environment: ENVIRONMENT\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e: the name of your Cloud Run service.\n - \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e: the selected execution environment. Specify the value `gen1` for first generation or `gen2` for second generation.\n\n Remove the `run.googleapis.com/execution-environment` annotation for the\n default behavior.\n3. Create or update the service using the following command:\n\n ```bash\n gcloud run services replace service.yaml\n ```\n\n### Terraform\n\n\u003cbr /\u003e\n\nTo learn how to apply or remove a Terraform configuration, see\n[Basic Terraform commands](/docs/terraform/basic-commands).\nAdd the following to a [`google_cloud_run_v2_service`](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service) resource in your Terraform configuration: \n\n\u003cbr /\u003e\n\n resource \"google_cloud_run_v2_service\" \"default\" {\n name = \"cloudrun-service-execution-environment\"\n location = \"\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e\"\n\n template {\n containers {\n image = \"us-docker.pkg.dev/cloudrun/container/hello\"\n }\n execution_environment = \"\u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e\"\n }\n }\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e: the Google Cloud region. For example, `europe-west1`.\n- \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e: `EXECUTION_ENVIRONMENT_GEN1` for first generation, or `EXECUTION_ENVIRONMENT_GEN2` for second generation.\n\nView Execution environment settings\n-----------------------------------\n\nTo view the current Execution environment settings for your\nCloud Run service: \n\n### Console\n\n1. In the Google Cloud console, go to Cloud Run:\n\n [Go to Cloud Run](https://console.cloud.google.com/run)\n2. Click the service you are interested in to open the **Service details**\n page.\n\n3. Click the **Revisions** tab.\n\n4. In the details panel at the right, the Execution environment setting\n is listed under the **Container** tab.\n\n### gcloud\n\n1. Use the following command:\n\n ```bash\n gcloud run services describe SERVICE\n ```\n2. Locate the Execution environment setting in the returned\n configuration."]]