Configurar variables de entorno para tareas

En esta página se describe cómo configurar variables de entorno para un trabajo de Cloud Run.

Cuando define variables de entorno, se insertan en el contenedor y su código puede acceder a ellas. Las variables de entorno se definen como pares clave/valor.

Nombres reservados

Las variables de entorno definidas en el contrato de tiempo de ejecución del contenedor están reservadas y no se pueden definir.

Número máximo de variables de entorno

Ten en cuenta que puedes definir un máximo de 1000 variables de entorno por contenedor en cada trabajo de Cloud Run.

Roles obligatorios

Para obtener los permisos que necesitas para configurar tareas de Cloud Run, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en la tarea:

  • Desarrollador de Cloud Run (roles/run.developer): la tarea de Cloud Run
  • Usuario de cuenta de servicio (roles/iam.serviceAccountUser): la identidad del 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 trabajo de Cloud Run interactúa con APIs deGoogle Cloud , como las bibliotecas de cliente de Cloud, consulta la guía de configuración de la identidad 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 tareas nuevas y actuales. Ten en cuenta que la marca --set-env-vars es una acción destructiva que elimina las variables de entorno definidas anteriormente que no se incluyan en la nueva lista de variables de entorno.

Puedes definir variables de entorno mediante la Google Cloud consola, la CLI de gcloud o un archivo YAML:

Consola

  1. En la Google Cloud consola, ve a la página de trabajos de Cloud Run:

    Ir a Cloud Run

  2. Seleccione Trabajos en el menú y haga clic en Implementar contenedor para rellenar la página de configuración inicial del trabajo. Si vas a configurar un trabajo que ya existe, selecciona el trabajo y haz clic en Editar.

  3. Haz clic en Contenedores, volúmenes, conexiones y seguridad para desplegar la página de propiedades del trabajo.

  4. Haz clic en la pestaña Variables.

    imagen

    • En la pestaña Variables y secretos, haz clic en Añadir variable y especifica el nombre y el valor que quieras para la variable 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.
  5. Haz clic en Crear o en Actualizar.

gcloud

Para especificar variables de entorno al crear un trabajo, usa la marca --set-env-vars:

gcloud run jobs create JOB_NAME --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Haz los cambios siguientes:

  • JOB_NAME: el nombre de tu trabajo.
  • KEY1=VALUE1,KEY2=VALUE2: lista de nombres de variables y sus valores separados por comas.
  • IMAGE_URL: una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.

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.

YAML

  1. Si vas a crear un trabajo, sáltate este paso. Si vas a actualizar una tarea, descarga su configuración YAML:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
    1. Actualiza los atributos name y value de env, tal como se muestra en containers::
    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

    Sustituye KEY-1 y VALUE-1 por la variable de entorno y el valor. También puede añadir más variables y valores según sea necesario.

    También puede especificar más configuraciones, como variables de entorno o límites de memoria.

  2. Actualiza la configuración de la tarea:

    gcloud run jobs replace job.yaml

Terraform

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

Añade lo siguiente a un recurso google_cloud_run_v2_job en tu configuración de Terraform:
resource "google_cloud_run_v2_job" "default" {
  name     = "JOB_NAME"
  location = "REGION"

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        env {
          name = "KEY-1"
          value = "VALUE-1"
        }
        env {
          name = "KEY-N"
          value = "VALUE-N"
        }
      }
    }
  }
}

Haz los cambios siguientes:

  • JOB_NAME: el nombre de tu tarea de Cloud Run.
  • REGION: la Google Cloud región. Por ejemplo, europe-west1.
  • KEY-1: la variable de entorno.
  • VALUE-1: el valor asociado a la clave.

También puedes añadir más bloques env para definir variables de entorno adicionales.

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 trabajo

Si defines una variable de entorno predeterminada en el contenedor y también defines una variable de entorno con el mismo nombre en el trabajo de Cloud Run, el valor definido en el trabajo 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

  1. En la Google Cloud consola, ve a la página de trabajos de Cloud Run:

    Ir a Cloud Run

  2. Seleccione Trabajos en el menú y haga clic en Implementar contenedor para rellenar la página de configuración inicial del trabajo. Si vas a configurar un trabajo que ya existe, selecciona el trabajo y haz clic en Editar.

  3. Haz clic en Contenedores, volúmenes, conexiones y seguridad para desplegar la página de propiedades del trabajo.

  4. Haz clic en la pestaña Contenedor.

    imagen

    • 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 nuevas para cada par clave-valor que definas en el archivo .env.
  5. Haz clic en Crear o en Actualizar.

gcloud

Para especificar varias variables de entorno desde el archivo .env, ejecuta el siguiente comando:

gcloud beta run jobs create JOB_NAME --image=IMAGE_URL --env-vars-file=ENV_FILE_PATH

Haz los cambios siguientes:

  • JOB_NAME: el nombre de tu tarea de Cloud Run.
  • IMAGE_URL: una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job: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 los trabajos que ya tengas. Se trata de un enfoque no destructivo que cambia o añade variables de entorno, pero no elimina las que se hayan definido anteriormente.

Consola

Para actualizar las variables de entorno mediante la consola Google Cloud , sigue estos pasos:

  1. En la Google Cloud consola, ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona el trabajo de la lista y haz clic en Editar y desplegar nueva revisión.

  3. Haz clic en la pestaña Contenedor.

  4. En la pestaña Variables y secretos, edita los campos Nombre o Valor y haz clic en Hecho.

  5. Haz clic en Desplegar.

gcloud

Para actualizar las variables de entorno de un trabajo, usa la marca --update-env-vars:

gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Haz los cambios siguientes:

  • JOB_NAME: el nombre de tu trabajo.
  • KEY1=VALUE1,KEY2=VALUE2: lista de nombres y valores de variables separados por comas.

Ver 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:

Consola

  1. En la Google Cloud consola, ve a la página de trabajos de Cloud Run:

    Ir a tareas de Cloud Run

  2. Haz clic en el trabajo que te interese para abrir la página Detalles del trabajo.

  3. Haz clic en Ver y editar configuración de trabajo.

  4. Busca la configuración de las variables de entorno en los detalles de la configuración.

gcloud

  1. Usa el siguiente comando:

    gcloud run jobs describe JOB_NAME
  2. Busca la configuración de las variables de entorno en la configuración devuelta.

Eliminar variables de entorno

Puedes eliminar variables de entorno de los trabajos que ya tengas.

Consola

Para eliminar variables de entorno con la consola Google Cloud , sigue estos pasos:

  1. En la Google Cloud consola, ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona el trabajo de la lista y haz clic en Editar y desplegar nueva revisión.

  3. Haz clic en la pestaña Contenedor.

  4. En la pestaña Variables y secretos, mueve el cursor a la izquierda del campo Valor de la variable de entorno que quieres eliminar para que se muestre el icono Eliminar y haz clic en él.

  5. Haz clic en Listo.

  6. Haz clic en Desplegar.

gcloud

Para eliminar de forma selectiva las variables de entorno de un trabajo, usa la marca --remove-env-vars:

gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2

Haz los cambios siguientes:

  • JOB_NAME: el nombre de tu trabajo.
  • 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 run jobs update JOB_NAME --clear-env-vars