Crear trabajos

En esta página, se describe cómo crear y actualizar trabajos de Cloud Run a partir de una imagen de contenedor existente. A diferencia de un servicio de Cloud Run, que escucha y entrega solicitudes, un trabajo de Cloud Run solo ejecuta sus tareas y se cierra cuando finaliza. Un trabajo no escucha ni entrega solicitudes.

Después de crear o actualizar un trabajo, puedes hacer lo siguiente:

Puedes estructurar un trabajo como una sola tarea o como varias tareas independientes (hasta 10,000 tareas) que se pueden ejecutar en paralelo. Cada tarea ejecuta una instancia de contenedor y se puede configurar para que se reintente en caso de falla. Cada tarea conoce su índice, que se almacena en la variable de entorno CLOUD_RUN_TASK_INDEX. El recuento general de tareas se almacena en la variable de entorno CLOUD_RUN_TASK_COUNT. Si procesas datos en paralelo, el código es responsable de determinar qué tarea controla qué subconjunto de los datos.

Puedes establecer tiempos de espera para las tareas y especificar la cantidad de reintentos en caso de falla de la tarea. Si alguna tarea excede la cantidad máxima de reintentos, esa tarea se marca como con errores. Si alguna tarea falla, la ejecución del trabajo se marca como con errores después de que Cloud Run pruebe todas las tareas.

De forma predeterminada, cada tarea se ejecuta durante 10 minutos como máximo. Para modificar el valor predeterminado, cambia la configuración del tiempo de espera de la tarea, hasta un máximo de 168 horas (7 días). La compatibilidad con tiempos de espera superiores a 24 horas está disponible en la versión preliminar.

No hay un tiempo de espera explícito para la ejecución de un trabajo: después de que se completaron todas las tareas, la ejecución del trabajo está completa.

Los trabajos usan el entorno de ejecución de segunda generación.

Roles obligatorios

Para obtener los permisos que necesitas para crear los trabajos de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu trabajo de Cloud Run interactúa con las APIs deGoogle 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.

Imágenes y registros de contenedores compatibles

Puedes usar directamente imágenes de contenedor almacenadas en Artifact Registry o Docker Hub. Google recomienda el uso de Artifact Registry.

Puedes usar imágenes de contenedor de otros registros públicos o privados (como JFrog Artifactory, Nexus o GitHub Container Registry) a través de la configuración de un repositorio remoto de Artifact Registry.

Solo debes considerar Docker Hub para implementar imágenes de contenedor populares, como las imágenes oficiales de Docker o las imágenes de OSS patrocinadas por Docker. Para obtener una mayor disponibilidad, Google recomienda implementar estas imágenes de Docker Hub mediante un repositorio remoto de Artifact Registry.

Cloud Run no admite capas de imágenes de contenedor de más de 9.9 GB cuando se implementa desde Docker Hub o un repositorio remoto de Artifact Registry con un registro externo.

Crea un trabajo nuevo

Puedes crear un trabajo nuevo mediante la consola de Google Cloud, Google Cloud CLI, YAML o Terraform.

Consola

Para crear un trabajo nuevo, sigue estos pasos:

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

    Ir a Cloud Run

  2. Haz clic en Implementar contenedor y selecciona Trabajo para mostrar el formulario Crear trabajo.

    1. En el formulario, especifica la imagen de contenedor que contiene el código del trabajo o selecciona los elementos de una lista de contenedores implementados antes.
    2. El nombre del trabajo se genera de forma automática a partir de la imagen de contenedor. Puedes editar o cambiar el nombre del trabajo según sea necesario. El nombre de un trabajo no se puede cambiar después de que se crea el trabajo.
    3. Selecciona la región donde quieres que se ubique el trabajo. El selector de regiones destaca las regiones con el impacto de carbono más bajo.
    4. Especifica la cantidad de tareas que deseas ejecutar en el trabajo. Todas las tareas deben realizarse con éxito para que el trabajo tenga éxito. De forma predeterminada, las tareas se ejecutan en paralelo.
  3. Haz clic en Contenedores, volúmenes, herramientas de redes y seguridad para establecer propiedades de trabajo adicionales.

    • En Capacidad de la tarea:
    1. En el menú Memoria, especifica la cantidad de memoria requerida. El valor predeterminado es el mínimo requerido, 512 MiB.
    2. En el menú CPU, especifica la cantidad de CPU requerida. El valor predeterminado es el mínimo requerido, 1 CPU.
    3. En Tiempo de espera de la tarea, especifica la cantidad máxima de tiempo en segundos que la tarea puede ejecutarse, hasta 168 horas (7 días). La compatibilidad con tiempos de espera superiores a 24 horas está disponible en la versión preliminar. Cada tarea debe completarse dentro de este plazo: El tiempo predeterminado es 10 minutos (600 segundos).

    4. En Cantidad de reintentos por tarea con errores, especifica la cantidad de reintentos en caso de fallas de tarea. El valor predeterminado es 3 reintentos.

    • En paralelismo:

      1. En la mayoría de los casos, puedes seleccionar Ejecutar tantas tareas como sea posible.
      2. Si necesitas establecer un límite inferior debido a las restricciones de escalamiento en los recursos a los que accede tu trabajo, selecciona Limita la cantidad máxima de tareas simultáneas y especifica la cantidad de tareas simultáneas en el campo Límite de paralelismo personalizado.
  4. De manera opcional, configura otras opciones de configuración en las pestañas correspondientes:

  5. Cuando termines de configurar tu trabajo, haz clic en Crear para crear el trabajo en Cloud Run.

  6. Para ejecutar el trabajo, consulta ejecuta trabajos o ejecuta trabajos según una programación.

gcloud

Para usar la línea de comandos, debes tener configurada la CLI de gcloud.

Para crear un trabajo nuevo, sigue estos pasos:

  1. Ejecuta el siguiente comando:

    gcloud run jobs create JOB_NAME --image IMAGE_URL OPTIONS
    Como alternativa, usa el comando de implementación:
    gcloud run jobs deploy JOB_NAME --image IMAGE_URL OPTIONS

    • Reemplaza JOB_NAME por el nombre del trabajo que deseas crear. Si omites este parámetro, se te solicitará el nombre del trabajo cuando ejecutes el comando.
    • Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como us-docker.pkg.dev/cloudrun/container/job:latest.
    • De manera opcional, reemplaza OPTIONS por cualquiera de las siguientes opciones:

      Opción Descripción
      --tasks Acepta números enteros mayores o iguales que 1. El valor predeterminado es 1; el máximo es 10,000. Cada tarea recibe las variables de entorno CLOUD_RUN_TASK_INDEX con un valor entre 0 y el número de tareas menos 1, junto con CLOUD_RUN_TASK_COUNT, que es la cantidad de tareas
      --max-retries La cantidad de veces que se reintenta una tarea con errores. Una vez que una tarea falla más allá de este límite, todo el trabajo se marca como con errores. Por ejemplo, si se establece en 1, una tarea con errores se reintenta una vez, para un total de dos intentos. El valor predeterminado es 3. Acepta números enteros del 0 al 10.
      --task-timeout Acepta una duración como “2s”. El valor predeterminado es de 10 minutos. El máximo es de 168 horas (7 días). La compatibilidad con tiempos de espera superiores a 24 horas está disponible en la versión preliminar.
      --parallelism La cantidad máxima de tareas que se pueden ejecutar en paralelo. De forma predeterminada, las tareas se iniciarán lo más rápido posible en paralelo. Consulta Paralelismo para conocer el rango de valores.
      --execute-now Si se configura, de inmediato después de crear el trabajo, se inicia una ejecución de trabajo. Equivalente a llamar a gcloud run jobs create seguido de gcloud run jobs execute.

      Además de las opciones anteriores, también debes especificar más opciones de configuración, como variables de entorno o límites de memoria.

      Para obtener una lista completa de las opciones disponibles cuando creas un trabajo, consulta la documentación de la línea de comandos gcloud run jobs create.

  2. Espera a que finalice la creación del trabajo. Cuando se complete correctamente, verás un mensaje de éxito.

  3. Para ejecutar el trabajo, consulta Ejecuta trabajos o Ejecuta trabajos según una programación.

YAML

Puedes almacenar la especificación de trabajo en un archivo YAML y, luego, implementarla con gcloud CLI.

  1. Crea un archivo job.yaml nuevo con este contenido:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE

    Reemplazar

    • JOB por el nombre del trabajo de Cloud Run. Los nombres de trabajos deben tener 49 caracteres o menos, y deben ser únicos por región y proyecto.
    • IMAGE por la URL de la imagen de contenedor.

    También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.

  2. Implementa el servicio nuevo mediante el siguiente comando:

    gcloud run jobs replace job.yaml

Terraform

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

Para crear un nuevo trabajo de Cloud Run, usa el recurso google_cloud_run_v2_job y modifica tu archivo main.tf como se muestra en el siguiente fragmento.

resource "google_cloud_run_v2_job" "default" {
  name     = "cloud-run-job"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job:latest"
      }
    }
  }
}

Bibliotecas cliente

Para crear un trabajo a partir de código, haz lo siguiente:

API de REST

Para crear un trabajo, envía una solicitud HTTP POST a fin de solicitar al extremo jobs de la API de Cloud Run Admin.

Por ejemplo, con curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X POST \
  -d '{template: {template: {containers: [{image: "IMAGE_URL"}]}}}' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs?jobId=JOB_NAME

Reemplaza lo siguiente:

  • ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para crear trabajos. Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor.
  • JOB_NAME: con el nombre del trabajo que deseas crear.
  • IMAGE_URL por la URL de la imagen de contenedor del trabajo, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
  • REGION por la Google Cloud región del trabajo.
  • PROJECT_ID por el Google Cloud ID del proyecto.

Ubicaciones de Cloud Run

Cloud Run es regional, lo que significa que la infraestructura que ejecuta los servicios se ubica en una región específica, y Google la administra para que esté disponible de manera redundante en todas las zonas de esa región.

El cumplimiento de los requisitos de latencia, disponibilidad o durabilidad es el factor principal para seleccionar la región en la que se ejecutan los servicios de Cloud Run. Por lo general, puedes seleccionar la región más cercana a los usuarios, pero debes considerar la ubicación de los otros productos Google Cloud que usa tu servicio de Cloud Run. Si usas Google Cloud productos en varias ubicaciones, la latencia y el costo del servicio pueden verse afectados.

Cloud Run está disponible en las siguientes regiones:

Sujetas a los Precios del nivel 1

Sujetas a los Precios del nivel 2

  • africa-south1 (Johannesburgo)
  • asia-east2 (Hong Kong)
  • asia-northeast3 (Seúl, Corea del Sur)
  • asia-southeast1 (Singapur)
  • asia-southeast2 (Yakarta)
  • asia-south2 Delhi (India)
  • australia-southeast1 (Sídney)
  • australia-southeast2 (Melbourne)
  • europe-central2 (Varsovia, Polonia)
  • europe-west10 (Berlín) ícono de hoja Bajo nivel de CO2
  • europe-west12 (Turín)
  • europe-west2 (Londres, Reino Unido) ícono de hoja Bajo nivel de CO2
  • europe-west3 (Fráncfort, Alemania) ícono de hoja Bajo nivel de CO2
  • europe-west6 (Zúrich, Suiza) ícono de hoja Bajo nivel de CO2
  • me-central1 (Doha)
  • me-central2 (Dammam)
  • northamerica-northeast1 (Montreal) ícono de hoja Bajo nivel de CO2
  • northamerica-northeast2 (Toronto) ícono de hoja Bajo nivel de CO2
  • southamerica-east1 (São Paulo, Brasil) ícono de hoja Bajo nivel de CO2
  • southamerica-west1 (Santiago, Chile) ícono de hoja Bajo nivel de CO2
  • us-west2 (Los Ángeles)
  • us-west3 (Salt Lake City)
  • us-west4 (Las Vegas)

Si ya creaste un servicio de Cloud Run, puedes ver la región en el panel de Cloud Run en la consola de Google Cloud.

Cuando creas un trabajo nuevo, el agente de servicio de Cloud Run debe poder acceder al contenedor, que es el caso predeterminado.

Actualiza un trabajo existente

Para cambiar cualquier configuración de configuración, debes actualizar el trabajo, incluso si no hay cambios en la imagen de contenedor. Ten en cuenta que para cualquier configuración sin cambios, la configuración anterior continúa usándose.

Puedes actualizar un trabajo existente con la consola de Google Cloud, Google Cloud CLI, YAML o Terraform.

Consola

Para actualizar un trabajo existente, sigue estos pasos:

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

    Ir a Cloud Run

  2. Haz clic en la pestaña Trabajos para ver la lista de trabajos.

  3. Haz clic en el trabajo para mostrar la página Detalles del trabajo.

  4. Haz clic en Editar.

  5. Si realizaste cambios en el código de tu trabajo, especifica el resumen de la imagen del contenedor nuevo.

  6. De manera opcional, cambia la cantidad de tareas que están en el trabajo si es necesario.

  7. De manera opcional, haz clic en Contenedores, volúmenes, herramientas de redes y seguridad para actualizar las propiedades de trabajo adicionales:

    • En Capacidad de la tarea:
    1. En el menú Memoria, especifica la cantidad de memoria requerida. El valor predeterminado es el mínimo requerido, 512 MiB.
    2. En el menú CPU, especifica la cantidad de CPU requerida. El valor predeterminado es el mínimo requerido, 1 CPU.
    3. En Tiempo de espera de la tarea, especifica la cantidad máxima de tiempo en segundos que la tarea puede ejecutarse, hasta 168 horas (7 días). La compatibilidad con tiempos de espera superiores a 24 horas está disponible en la versión preliminar. Cada tarea debe completarse dentro de este plazo. El tiempo predeterminado es 10 minutos (600 segundos).
    4. En Cantidad de reintentos por tarea con errores, especifica la cantidad de reintentos en caso de fallas de tarea. El valor predeterminado es 3 reintentos.
    • En paralelismo:

      1. En la mayoría de los casos, puedes seleccionar Ejecutar tantas tareas como sea posible.
      2. Si necesitas establecer un límite inferior debido a las restricciones de escalamiento en los recursos a los que accede tu trabajo, selecciona Limita la cantidad de tareas simultáneas y especifica la cantidad máxima de tareas simultáneas en el campo Límite de paralelismo personalizado.
  8. De manera opcional, configura otras opciones de configuración en las pestañas correspondientes:

  9. Cuando termines de configurar tu trabajo, haz clic en Guardar para crear el trabajo en Cloud Run y espera a que termine la creación del trabajo.

  10. Para ejecutar el trabajo, consulta ejecuta trabajos o ejecuta trabajos según una programación.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Ejecuta el siguiente comando:

    gcloud run jobs update JOB_NAME

    Reemplaza lo siguiente:

    • JOB_NAME por el nombre del trabajo que deseas actualizar
    • De manera opcional, reemplaza OPTIONS por las siguientes opciones:

      Opción Descripción
      --tasks Acepta números enteros iguales o mayores que 1. El valor predeterminado es 1; el máximo es 10,000. Cada tarea recibe las variables de entorno CLOUD_RUN_TASK_INDEX con un valor entre 0 y el número de tareas menos 1, junto con CLOUD_RUN_TASK_COUNT, que es la cantidad de tareas
      --max-retries La cantidad de veces que se reintenta una tarea con errores. Una vez que una tarea falla más allá de este límite, todo el trabajo se marca como con errores. Por ejemplo, si se establece en 1, una tarea con errores se reintenta una vez, para un total de dos intentos. El predeterminado es 3. Acepta números enteros del 0 al 10.
      --task-timeout Acepta una duración como “2s”. El valor predeterminado es de 10 minutos. El máximo es de 168 horas (7 días). La compatibilidad con tiempos de espera superiores a 24 horas está disponible en la versión preliminar.
      --parallelism La cantidad máxima de tareas que se pueden ejecutar en paralelo. De forma predeterminada, las tareas se iniciarán lo más rápido posible en paralelo. Consulta Paralelismo para conocer el rango de valores.

    Además de las opciones anteriores, puedes definir otras opciones de configuración opcionales:

    Para obtener una lista completa de las opciones disponibles cuando creas un trabajo, consulta la documentación de la línea de comandos gcloud run jobs create.

  3. Espera a que finalice la actualización del trabajo. Cuando el proceso finalice correctamente, se mostrará un mensaje similar al siguiente:

    Job [JOB_NAME] has been successfully updated.
    View details about this job by running `gcloud run jobs describe JOB_NAME`.
    See logs for this execution at: https://console.cloud.google.com/logs/viewer?project=PROJECT_ID&resource=cloud_run_revision/service_name/JOB_NAME
  4. Para ejecutar el trabajo, consulta Ejecuta trabajos o Ejecuta trabajos según una programación.

YAML

Si necesitas descargar o ver la configuración de un trabajo existente, usa el siguiente comando para guardar los resultados en un archivo YAML:

gcloud run jobs describe JOB --format export > job.yaml

Desde un archivo YAML de configuración de trabajo, modifica cualquier atributo secundario spec.template como desees para actualizar los parámetros de configuración y, luego, vuelve a implementar:

  1. Actualiza la configuración del trabajo existente:

    gcloud run jobs replace job.yaml
  2. Para ejecutar el trabajo, consulta Ejecuta trabajos o Ejecuta trabajos según una programación.

Terraform

Realiza los cambios a la configuración de tu trabajo en tu archivo main.tf con el comando terraform apply. Las instrucciones detalladas de Terraform están disponibles para los siguientes elementos:

Para obtener más información, consulta las opciones de línea de comandos terraform apply.

Bibliotecas cliente

Sigue estos pasos para actualizar un trabajo existente a partir de código:

API de REST

Si deseas actualizar un trabajo, envía una solicitud HTTP PATCH a fin de solicitar al extremo jobs de la API de Cloud Run Admin.

Por ejemplo, con curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X PATCH \
  -d '{template: {template: {containers: [{image: "IMAGE_URL"}]}}}' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME

Reemplaza lo siguiente:

  • ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para actualizar trabajos. Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor.
  • JOB_NAME por el nombre del trabajo que deseas actualizar.
  • IMAGE_URL por la URL de la imagen de contenedor del trabajo, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
  • REGION por la Google Cloud región del trabajo.
  • PROJECT_ID por el Google Cloud ID del proyecto.

Código de muestra

Para ver muestras de código con trabajos, consulta las guías de inicio rápido específicas del lenguaje.

Implementa varios contenedores en un trabajo (sidecars)

En una implementación de trabajo de Cloud Run con varios contenedores (sidecars), hay un contenedor de trabajo principal que encapsula la configuración del trabajo y uno o más contenedores sidecar.

Puedes implementar hasta 10 contenedores por instancia, incluido el contenedor de trabajo principal. Todos los contenedores dentro de una instancia comparten el mismo espacio de nombres de red y también pueden compartir archivos a través de un volumen compartido en la memoria.

Casos de uso

Los Sidecars se suelen usar para los siguientes casos de uso:

  • Recuperar métricas personalizadas de las tareas de Cloud Run y enviarlas a un backend especificado de tu elección con agentes de recopilador, como Prometheus o Opentelemetry
  • Permitir que las aplicaciones sin lógica de Hashicorp Vault integrada usen secretos estáticos y dinámicos provenientes de Vault con el sidecar de Vault

Implementa un trabajo con contenedores de sidecar

Puedes implementar varios sidecars en un trabajo de Cloud Run mediante la consola de Google Cloud, Google Cloud CLI o YAML.

Haz clic en la pestaña para obtener instrucciones de la herramienta que elijas.

Console

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

    Ir a Cloud Run

  2. Para implementar en un trabajo existente, haz clic en Trabajos, busca el trabajo en la lista de trabajos y haz clic para abrirlo. Luego, haz clic en Ver y editar configuración para mostrar el formulario de edición de trabajo.

  3. Para un trabajo nuevo, haz clic en Implementar contenedor y, luego, en Trabajo. Proporciona el nombre del trabajo y la URL a la imagen de contenedor de trabajo principal que deseas implementar.

  4. Haz clic en Contenedores, volúmenes, herramientas de redes y seguridad.

  5. En la tarjeta Editar contenedor, configura el contenedor de trabajo principal según sea necesario.

  6. Haz clic en Agregar contenedor y configura un contenedor de archivo adicional que deseas agregar junto con el contenedor de trabajo principal. Si el sidecar depende de otro contenedor en el servicio, indícalo en el menú desplegable Orden de inicio del contenedor. Repite este paso para cada contenedor de archivo adicional que implementes.

  7. Haz clic en Crear para un servicio nuevo o en Actualizar para un trabajo existente y espera a que finalice la implementación.

gcloud

Los parámetros container en Google Cloud CLI están en Vista previa.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Para implementar varios contenedores en un trabajo, ejecuta el siguiente comando:

    gcloud beta run jobs create JOB \
     --container JOB_CONTAINER_NAME \
     --image='JOB_IMAGE' \
     --container SIDECAR_CONTAINER_NAME \
     --image='SIDECAR_IMAGE'

    Reemplaza lo siguiente:

    • Reemplaza JOB por el nombre del trabajo en el que realizas la implementación. Puedes omitir este parámetro por completo, pero se te solicitará el nombre del trabajo si lo haces.
    • JOB_CONTAINER_NAME con un nombre para el contenedor de trabajo principal.
    • JOB_IMAGE por una referencia a la imagen del contenedor de trabajo principal, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIDECAR_CONTAINER_NAME por un nombre para el contenedor de sidecar, por ejemplo, sidecar.
    • SIDECAR_IMAGE por una referencia a la imagen del contenedor del sidecar.

    Si deseas configurar cada contenedor en el comando de implementación, proporciona la configuración de cada contenedor después de los parámetros container como en el siguiente ejemplo:

    gcloud beta run jobs create JOB \
      --container CONTAINER_1_NAME \
      --image='JOB_IMAGE' \
      --set-env-vars=KEY=VALUE \
      --container SIDECAR_CONTAINER_NAME \
      --image='SIDECAR_IMAGE' \
      --set-env-vars=KEY_N=VALUE_N
  3. Espera a que finalice la implementación de los trabajos. Una vez que la compilación se completa de manera correcta, se muestra un mensaje de resultado correcto.

YAML

En estas instrucciones, se muestra un archivo YAML básico para tu trabajo de Cloud Run con sidecars. Crea un archivo llamado job.yaml que contenga lo siguiente:

apiVersion: run.googleapis.com/v1
kind: Job
metadata:
  annotations:
    run.googleapis.com/launch-stage: BETA
  name: JOB
spec:
  template:
    spec:
      containers:
      - image: JOB_IMAGE
      - image: SIDECAR_IMAGE
      

Reemplaza lo siguiente:

  • JOB por el nombre del contenedor de trabajo principal de Cloud Run. Los nombres de trabajos deben tener 49 caracteres o menos.
  • JOB_IMAGE por una referencia a la imagen del contenedor de trabajo principal, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest. De manera opcional, proporciona las entradas de configuración del contenedor necesarias después de esta entrada.
  • SIDECAR_IMAGE por una referencia a la imagen del contenedor del sidecar. De forma opcional, proporciona las entradas de configuración del contenedor necesarias después de esta entrada.Puedes especificar varios archivos adicionales agregando más elementos al array containers en el YAML.

Después de actualizar el YAML para incluir los contenedores de entrada y sidecar, implementa en Cloud Run mediante el siguiente comando:

gcloud run jobs replace job.yaml

Funciones disponibles para implementaciones con sidecars

Puedes especificar el orden de inicio del contenedor dentro de una implementación con varios contenedores si tienes dependencias que requieren que algunos contenedores se inicien antes que otros contenedores en la implementación.

Si tienes contenedores que dependen de otros contenedores, debes usar verificaciones de estado de inicio en tu implementación. Si usas verificaciones de estado, Cloud Run sigue el orden de inicio del contenedor y, luego, inspecciona el estado de cada contenedor, y se asegura de que cada uno pase correctamente antes de que Cloud Run ejecute el siguiente contenedor en el orden. Si no usas las verificaciones de estado, se iniciarán los contenedores en buen estado, incluso si los contenedores de los que dependen no están en ejecución.

Varios contenedores dentro de una sola instancia pueden acceder a un volumen en memoria compartido, al que puede acceder cada contenedor con los puntos de activación que creas.

¿Qué sigue?

Después de crear o actualizar un trabajo, puedes hacer lo siguiente: