En esta página se describe cómo configurar variables de entorno para tu grupo de trabajadores de Cloud Run.
Cualquier cambio en la configuración conlleva la creación de una nueva revisión. Las revisiones posteriores también recibirán automáticamente este ajuste de configuración, a menos que hagas cambios explícitos para modificarlo.
Roles obligatorios
Para obtener los permisos que necesitas para configurar e implementar grupos de trabajadores de Cloud Run, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
-
Desarrollador de Cloud Run (
roles/run.developer
) en el grupo de trabajadores de Cloud Run -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la identidad de servicio
Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos sobre roles de gestión de identidades y accesos de Cloud Run y permisos de gestión de identidades y accesos de Cloud Run. Si tu grupo de trabajadores de Cloud Run interactúa con APIs deGoogle Cloud , como las bibliotecas de cliente de Cloud, consulta la guía de configuración de identidades de servicio. Para obtener más información sobre cómo conceder roles, consulta los artículos sobre permisos de implementación y gestión del acceso.
Establece variables de entorno:
Puedes definir variables de entorno para un grupo de trabajadores de Cloud Run mediante laGoogle Cloud consola, la CLI de Google Cloud o Terraform:
Consola
En la Google Cloud consola, ve a Cloud Run:
Selecciona Grupos de trabajadores en el menú y haz clic en Implementar contenedor para configurar un nuevo grupo de trabajadores. Si vas a configurar un grupo de trabajadores que ya existe, haz clic en él y, a continuación, en Editar y desplegar nueva revisión.
Si vas a configurar un grupo de trabajadores, rellena la página inicial del grupo de trabajadores y, a continuación, haz clic en Contenedores, volúmenes, redes y seguridad para desplegar la página de configuración del grupo de trabajadores.
Haz clic en la pestaña Contenedor.
- En la pestaña Variables y secretos, haz clic en Añadir variable para añadir una variable de entorno y, a continuación, especifica el nombre que quieras darle en los campos Nombre y Valor. Para obtener más información sobre cómo definir varias variables de entorno o usar caracteres de escape, consulta Definir varias variables de entorno.
Haz clic en Crear o en Implementar.
gcloud
Para especificar variables de entorno al implementar tu grupo de trabajadores, usa la marca --set-env-vars
:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Haz los cambios siguientes:
- WORKER_POOL: el nombre de tu grupo de trabajadores
- KEY1=VALUE1,KEY2=VALUE2: lista de nombres y valores de variables separados por comas.
- IMAGE_URL: una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
Para obtener más información sobre cómo definir varias variables de entorno o escapar caracteres especiales, consulta Definir varias variables de entorno.
Terraform
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
name = "WORKER_POOL"
location = "REGION"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
env {
name = "KEY1"
value = "VALUE1"
}
env {
name = "KEY2"
value = "VALUE2"
}
}
}
}
Haz los cambios siguientes:
- WORKER_POOL: el nombre del grupo de trabajadores.
- REGION: la Google Cloud región (por ejemplo,
europe-west1
- IMAGE_URL: una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
- KEY1 y VALUE1: la variable de entorno y su valor. También puede añadir más variables y valores según sea necesario.
Definir variables de entorno predeterminadas en el contenedor
Puedes usar la instrucción ENV
en un Dockerfile para definir valores predeterminados para las variables de entorno:
ENV KEY1=VALUE1,KEY2=VALUE2
Orden de prioridad: variables de contenedor frente a variables de grupo de trabajadores
Si defines una variable de entorno predeterminada en el contenedor y también defines una variable de entorno con el mismo nombre en el grupo de trabajadores de Cloud Run, el valor definido en el grupo de trabajadores tiene prioridad.
Definir varias variables de entorno
Puedes definir varias variables de entorno mediante el archivo .env
o la marca --set-env-vars
.
Definir varias variables de entorno con el archivo .env
Consola
En la Google Cloud consola, ve a Cloud Run:
Selecciona Grupos de trabajadores en el menú y haz clic en Implementar contenedor para configurar un nuevo grupo de trabajadores. Si vas a configurar un grupo de trabajadores que ya existe, haz clic en él y, a continuación, en Editar y desplegar nueva revisión.
Si vas a configurar un grupo de trabajadores, rellena la página inicial del grupo de trabajadores y, a continuación, haz clic en Contenedores, volúmenes, redes y seguridad para desplegar la página de configuración del grupo de trabajadores.
Haz clic en la pestaña Contenedor.
- En la pestaña Variables y secretos, haz clic en Añadir variable y pega el contenido de tu archivo
.env
en el campo Nombre. Cloud Run rellena automáticamente el campo Valor y crea variables para cada par clave-valor que definas en el archivo.env
.
- En la pestaña Variables y secretos, haz clic en Añadir variable y pega el contenido de tu archivo
Haz clic en Crear o en Implementar.
gcloud
Para especificar varias variables de entorno desde el archivo .env
, ejecuta el siguiente comando:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
Haz los cambios siguientes:
- WORKER_POOL: el nombre del grupo de trabajadores.
- IMAGE_URL: una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
- ENV_FILE_PATH: ruta al archivo
.env
.
Definir varias variables de entorno con la marca --set-env-vars
Si tienes varias variables de entorno que no se pueden enumerar en el formato KEY1=VALUE1,KEY2=VALUE2
, puedes repetir la marca --set-env-vars
varias veces:
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
Evitar caracteres de coma
Como el carácter de coma,
se usa para dividir las variables de entorno, si tu variable de entorno contiene comas como valores, debes escapar esos delimitadores especificando otro carácter delimitador, por ejemplo, @
:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
Actualizar variables de entorno
Puedes actualizar las variables de entorno de tiempo de ejecución de los grupos de trabajadores. Se trata de un enfoque no destructivo que cambia o añade variables de entorno de tiempo de ejecución, pero no las elimina.
Puedes actualizar las variables de entorno en la Google Cloud consola, la CLI de Google Cloud o Terraform:
Consola
En la Google Cloud consola, ve a Cloud Run:
Selecciona Grupos de trabajadores en el menú, haz clic en el grupo de trabajadores que quieras actualizar y, a continuación, en Editar y desplegar nueva revisión.
Haga clic en Contenedores, volúmenes, redes y seguridad para desplegar la página de configuración de los grupos de trabajadores.
Haz clic en la pestaña Variables y secretos.
Busca la variable de entorno que quieras actualizar y especifica otro nombre para la variable u otro valor en los campos Nombre y Valor.
Haz clic en Desplegar.
gcloud
Para actualizar las variables de entorno de un grupo de trabajadores, usa la marca
--update-env-vars
:
gcloud beta run worker-pools update WORKER_POOL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Haz los cambios siguientes:
- WORKER_POOL: el nombre de tu grupo de trabajadores
- KEY1=VALUE1,KEY2=VALUE2: lista de nombres y valores de variables separados por comas.
Terraform
Para actualizar las variables de entorno de un grupo de trabajadores, abre el archivo main.tf
correspondiente al grupo de trabajadores y edita las variables de nombre y valor.
A continuación, ejecuta el comando para aplicar la configuración de Terraform.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Eliminar variables de entorno
Consola
En la Google Cloud consola, ve a Cloud Run:
Selecciona Grupos de trabajadores en el menú, haz clic en el grupo de trabajadores que quieras actualizar y, a continuación, en Editar y desplegar nueva revisión.
Haga clic en Contenedores, volúmenes, redes y seguridad para desplegar la página de configuración de los grupos de trabajadores.
Haz clic en la pestaña Variables y secretos.
Busca la variable de entorno que quieras eliminar y haz clic en el icono de la papelera situado a la derecha del campo Valor para eliminarla.
Haz clic en Desplegar.
gcloud
Para eliminar de forma selectiva variables de entorno de un grupo de trabajadores, usa la marca --remove-env-vars
:
gcloud beta run worker-pools update WORKER_POOL --remove-env-vars KEY1,KEY2
Haz los cambios siguientes:
- WORKER_POOL: el nombre de tu grupo de trabajadores
- KEY1,KEY2: lista de nombres de variables separados por comas
También puedes borrar todas las variables de entorno definidas anteriormente con la marca --clear-env-vars
:
gcloud beta run worker-pools update WORKER_POOL --clear-env-vars
Sustituye WORKER_POOL por el nombre de tu grupo de trabajadores.
Ver la configuración de las variables de entorno del grupo de trabajadores
En la Google Cloud consola, ve a Cloud Run:
Haz clic en Grupos de trabajadores para ver la lista de grupos de trabajadores implementados.
Haz clic en el grupo de trabajadores que quieras examinar para que se muestre su panel de detalles.
Haz clic en la pestaña Contenedores para ver la configuración de los contenedores del grupo de trabajadores.
Código de muestra
Para ver un ejemplo de código que muestra cómo acceder a las variables de entorno en tu código, consulta Gestionar la configuración sensible con Secret Manager en el tutorial Autenticación de usuarios finales.
Siguientes pasos
Puedes usar variables de entorno para definir una configuración de buildpacks. Para obtener información específica sobre cada lenguaje, consulta la documentación de los buildpacks de: