Cette page explique comment configurer des variables d'environnement pour votre service Cloud Run. 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.
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 sections Autorisations de déploiement et Gérer les accès.
Définir des variables d'environnement
Vous pouvez définir des variables d'environnement à l'aide de la console Google Cloud, de gcloud CLI ou d'un fichier YAML lorsque vous créez un service ou 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.
- Cliquez sur Ajouter une variable pour ajouter une variable, puis spécifiez le nom et la valeur de cette variable dans les champs Nom et Valeur.
Cliquez sur Créer ou Déployer.
gcloud
Vous pouvez spécifier des variables d'environnement lors du déploiement d'un service ou les mettre à jour après la création du service :
Pour spécifier des variables d'environnement lors du déploiement de votre service, utilisez l'option --set-env-vars
:
gcloud run deploy SERVICE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Remplacez :
- SERVICE par le nom de votre service.
- KEY1=VALUE1,KEY2=VALUE2, avec la liste des noms et valeurs de variables, séparés par une virgule.
- 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
.
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
Modifiez les attributs
name
etvalue
sous l'attributenv
souscontainers:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
Remplacer
- SERVICE par le nom de votre service Cloud Run
- 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
- KEY-1, VALUE-1 par la variable d'environnement et la valeur. Si vous le souhaitez, vous pouvez ajouter d'autres variables accompagnées de leur valeur.
- REVISION par un nouveau nom de révision ou supprimez-le (le cas échéant). Si vous indiquez un nouveau nom de révision, il doit répondre aux critères suivants :
- Commencer par
SERVICE-
- Ne contenir que des lettres minuscules, des chiffres et
-
- Ne pas se terminer par
-
- Ne pas dépasser 63 caractères
- Commencer par
Créez ou mettez à jour le service à l'aide de la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
La ressource google_cloud_run_v2_service
suivante définit la variable d'environnement foo
sur bar
et la variable d'environnement baz
sur quux
. Mettez à jour les variables d'environnement selon vos besoins spécifiques :
Définir de nombreuses variables d'environnement
Si vous avez trop de variables d'environnement qui ne peuvent pas être facilement répertoriées au format KEY1=VALUE1,KEY2=VALUE2
, vous pouvez également répéter les options ci-dessus plusieurs fois :
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
Échapper les caractères de virgule
Comme la virgule ,
est utilisée pour séparer les variables d'environnement, si votre variable d'environnement contient des virgules en tant que valeurs, vous devez échapper ces délimiteurs en spécifiant un caractère de délimitation différent, par exemple @
:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
Définir des variables d'environnement par défaut dans le conteneur
Vous pouvez utiliser l'instruction ENV
dans un fichier Dockerfile pour définir les valeurs par défaut des variables d'environnement :
ENV KEY1=VALUE1,KEY2=VALUE2
Ordre de priorité entre les variables de conteneur et de service ou de tâche
Si vous définissez une variable d'environnement par défaut dans le conteneur et une variable d'environnement portant le même nom sur le service ou le job Cloud Run, la valeur définie au niveau du service est prioritaire.
Afficher les paramètres des variables d'environnement
Pour afficher les paramètres des variables d'environnement actuels 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 sur la droite, le paramètre des variables d'environnement est répertorié sous l'onglet Conteneur.
gcloud
Exécutez la commande suivante :
gcloud run services describe SERVICE
Recherchez le paramètre de variables d'environnement dans la configuration renvoyée.
Mettre à jour des variables d'environnement
Vous pouvez mettre à jour les variables d'environnement d'exécution pour les services existants. Il s'agit d'une approche non destructrice, qui permet de modifier ou d'ajouter des variables d'environnement sans les supprimer.
Console
Pour mettre à jour des variables d'environnement d'exécution à l'aide de la console Google Cloud, procédez comme suit :
Dans la console Google Cloud, accédez à Cloud Run :
Sélectionnez votre service dans la liste, puis cliquez sur Modifier et déployer la nouvelle révision.
Cliquez sur l'onglet Conteneur.
Dans l'onglet Variables et secrets, modifiez les champs Nom ou Valeur, puis cliquez sur OK.
Cliquez sur Déployer.
gcloud
Pour mettre à jour les variables d'environnement d'un service existant, utilisez l'option --update-env-vars
:
gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Remplacez :
- SERVICE par le nom de votre service.
- KEY1=VALUE1,KEY2=VALUE2, avec la liste des noms et valeurs de variables, séparés par une virgule.
Pour mettre à jour les variables d'environnement d'un service multirégion existant, utilisez la commande gcloud beta run multi-region-services update
.
Supprimer des variables d'environnement
Console
Pour supprimer des variables d'environnement d'exécution à l'aide de la console Google Cloud, procédez comme suit :
Dans la console Google Cloud, accédez à Cloud Run :
Sélectionnez votre service dans la liste, puis cliquez sur Modifier et déployer la nouvelle révision.
Cliquez sur l'onglet Conteneur.
Dans l'onglet Variables et secrets, placez le curseur à gauche du champ Valeur de la variable d'environnement que vous supprimez pour afficher l'icône
Supprimer, puis cliquez dessus.Cliquez sur OK.
Cliquez sur Déployer.
gcloud
Pour supprimer de manière sélective des variables d'environnement d'un service existant,utilisez l'option --remove-env-vars
:
gcloud run services update SERVICE --remove-env-vars KEY1,KEY2
Remplacez :
- SERVICE par le nom de votre service.
- KEY1,KEY2, avec la liste des noms de variables, séparés par une virgule.
Vous pouvez également effacer l'ensemble des variables d'environnement définies précédemment à l'aide de l'option --clear-env-vars
:
gcloud run services update SERVICE --clear-env-vars
Remplacez :
- SERVICE par le nom de votre service.
Exemple de code
Pour obtenir un exemple de code montrant comment accéder aux variables d'environnement de votre code, reportez-vous à la section Gérer une configuration sensible avec Secret Manager du tutoriel sur l'authentification des utilisateurs finaux.
Étape suivante
Vous pouvez utiliser des variables d'environnement pour définir la configuration des buildpacks. Pour obtenir des informations propres à chaque langage, consultez la documentation sur les buildpacks pour: