Lorsque vous définissez des variables d'environnement, elles sont injectées dans le conteneur et sont accessibles depuis votre code. Les variables d'environnement sont définies sous forme de paires clé/valeur.
Noms réservés
Les variables d'environnement définies dans le contrat d'exécution du conteneur sont réservées et ne peuvent pas être définies. En particulier, la variable d'environnement PORT
est injectée dans votre conteneur par Cloud Run. Vous ne devriez pas la définir vous-même.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer des jobs Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Développeur Cloud Run (
roles/run.developer
) sur le job 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 tâche Cloud Run communique avec des API Google Cloud, telles que des 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
Pour définir une variable d'environnement pour une tâche Cloud Run, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page des jobs Cloud Run :
Si vous configurez un nouveau job, cliquez sur l'onglet Jobs et remplissez la page des paramètres initiaux du job selon vos besoins. Si vous configurez un job existant, cliquez sur celui-ci, puis sur Modifier.
Cliquez sur Conteneur, variables et secrets, connexions, sécurité pour développer la page des propriétés de la tâche.
Cliquez sur l'onglet Variables.
- Procédez comme suit :
- Si vous ajoutez une variable, cliquez sur Add Variable (Ajouter une variable) et spécifiez le nom souhaité et la valeur de cette variable dans les zones de texte Name (Nom) et Value (Valeur).
- Si vous modifiez la valeur d'une variable, remplacez la valeur actuelle dans la zone de texte Value (Valeur) par la valeur souhaitée.
- Si vous supprimez une ou plusieurs variables d'environnement, placez votre curseur à gauche de la zone de texte Value (Valeur) de la variable à supprimer pour afficher l'icône de la corbeille, puis cliquez dessus.
- Procédez comme suit :
Cliquez sur Créer ou Mettre à jour.
gcloud
Définissez, mettez à jour ou supprimez les variables d'environnement d'un service existant à l'aide de la commande gcloud run jobs update. Vous pouvez utiliser l'une des options suivantes, selon vos besoins :
- --set-env-vars
- --update-env-vars
- --remove-env-vars
-
Vous pouvez spécifier des variables d'environnement tout en créant une tâche ou en mettant à jour une tâche :
gcloud run jobs create JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Remplacez JOB_NAME par le nom de votre tâche.
Remplacez KEY1=VALUE1,KEY2=VALUE2 par la liste des noms de variables souhaités et de leurs valeurs, séparés par une virgule.
Remplacez IMAGE_URL par une référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/job:latest
.
YAML
Si vous créez un job, ignorez cette étape. Si vous mettez à jour un job existant, téléchargez sa configuration YAML :
gcloud run jobs describe JOB_NAME --format export > job.yaml
- Mettez à jour les attributs
name
etvalue
sousenv
, comme indiqué souscontainers:
:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
Remplacez 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.
Vous pouvez également spécifier d'autres éléments de configuration, tels que des variables d'environnement ou des limites de mémoire.
- Mettez à jour les attributs
Mettez à jour la configuration de tâche existante :
gcloud run jobs replace job.yaml
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 actuels des variables d'environnement pour votre tâche Cloud Run, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page des jobs Cloud Run :
Cliquez sur le job qui vous intéresse pour ouvrir la page Informations sur le job.
Cliquez sur l'onglet Configuration.
Recherchez les variables d'environnement définies dans les détails de la configuration.
gcloud
Exécutez la commande suivante :
gcloud run jobs describe JOB_NAME
Recherchez le paramètre de variables d'environnement dans la configuration renvoyée.