Cuando configuras las variables de entorno, se insertan en el contenedor y tu código puede acceder a ellas. Además, se establecen como pares clave-valor.
Nombres reservados
Las variables de entorno definidas en el contrato de entorno de ejecución del contenedor están reservadas y no se pueden configurar. En particular, Cloud Run inserta la variable de entorno PORT
dentro de tu contenedor. No debes configurarlo tú mismo.
Roles obligatorios
Para obtener los permisos que necesitas para configurar los trabajos de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Desarrollador de Cloud Run (
roles/run.developer
) en el trabajo de Cloud Run -
Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser
) en la identidad del servicio
Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta Roles de IAM de Cloud Run y Permisos de IAM de Cloud Run. Si tu trabajo de Cloud Run interactúa con las APIs de Google Cloud, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.
Configura las variables de entorno
Para establecer una variable de entorno para un trabajo de Cloud Run, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página de trabajos de Cloud Run:
Si quieres configurar un nuevo trabajo, haz clic en la pestaña Trabajos y completa la página de configuración de trabajo inicial como desees. Si quieres configurar un trabajo existente, haz clic en el trabajo y, luego, en Editar.
Haz clic en Contenedor, variables y secretos, conexiones y seguridad para expandir la página de propiedades del trabajo.
Haz clic en la pestaña Variables.
- Puedes hacer lo siguiente:
- Si quieres agregar una variable, haz clic en Agregar variable y especifica el nombre que deseas para la variable y su valor en los cuadros de texto Nombre y Valor.
- Si deseas cambiar el valor de una variable, reemplaza el valor actual en el cuadro de texto Value (Valor) por el que deseas.
- Si quitas una o más variables de entorno, coloca el cursor a la izquierda del cuadro de texto Value (Valor) de la variable que deseas quitar para que se muestre el ícono de la Papelera, y haz clic en este.
- Puedes hacer lo siguiente:
Haz clic en Crear o Actualizar.
gcloud
Configura, actualiza o quita variables de entorno de un servicio existente mediante el comando gcloud run jobs update. Puedes usar cualquiera de las siguientes marcas, según sea necesario:
- --set-env-vars
- --update-env-vars
- --remove-env-vars
-
Puedes especificar variables de entorno mientras creas un trabajo o cuando actualizas un trabajo:
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
Reemplaza JOB_NAME por el nombre de tu trabajo.
Reemplaza KEY1=VALUE1,KEY2=VALUE2 por la lista separada por comas de los nombres de las variables que deseas y sus valores.
Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como
us-docker.pkg.dev/cloudrun/container/job:latest
.
YAML
Si creas un trabajo nuevo, omite este paso. Si actualizas un trabajo existente, descarga su configuración de YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
- Actualiza los atributos
name
yvalue
enenv
como se muestra encontainers:
:
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
Reemplaza KEY-1, VALUE-1 por la variable y el valor del entorno. También, puedes agregar más variables y valores según lo desees
También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.
- Actualiza los atributos
Actualiza la configuración del trabajo existente:
gcloud run jobs replace job.yaml
Configura muchas variables de entorno
Si tienes demasiadas variables de entorno que no se pueden enumerar con facilidad en formato KEY1=VALUE1,KEY2=VALUE2
, también puedes repetir varias veces las marcas que se enumeraron antes:
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
Caracteres de coma de escape
Debido a que el carácter de coma ,
se usa para dividir las variables de entorno, si la variable de entorno contiene caracteres de coma como valores, debes escapar esos delimitadores mediante la especificación de un carácter delimitador diferente, por ejemplo, @
:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
Configura variables de entorno predeterminadas en el contenedor
Puedes usar la sentencia ENV
en un Dockerfile a fin de establecer valores predeterminados para las variables de entorno:
ENV KEY1=VALUE1,KEY2=VALUE2
Orden de prioridad: Comparación entre contenedores y variables de servicio o trabajos
Si configuras una variable de entorno predeterminada en el contenedor y, también configuras una variable de entorno con el mismo nombre en el servicio de Cloud Run o el trabajo, el valor establecido en el servicio tiene prioridad.
Visualiza la configuración de las variables de entorno
Para ver la configuración actual de las variables de entorno de tu trabajo de Cloud Run, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página de trabajos de Cloud Run:
Haz clic en el trabajo que te interesa para abrir la página Detalles del trabajo.
Haz clic en la pestaña Configuración.
Localiza la configuración de variables de entorno en los detalles de configuración.
gcloud
Usa el siguiente comando:
gcloud run jobs describe JOB_NAME
Ubica la configuración de las variables de entorno en la configuración que se muestra.