Crear tareas

En esta página se describe cómo crear y actualizar trabajos de Cloud Run a partir de una imagen de contenedor. A diferencia de un servicio de Cloud Run, que escucha y atiende solicitudes, un trabajo de Cloud Run solo ejecuta sus tareas y se cierra cuando termina. Un trabajo no escucha ni sirve 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 vuelva a intentarlo en caso de error. 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 procesa datos en paralelo, su código es responsable de determinar qué tarea gestiona qué subconjunto de datos.

Puedes definir tiempos de espera en las tareas y especificar el número de reintentos en caso de que se produzca un error. Si alguna tarea supera el número máximo de reintentos, se marcará como fallida. Si alguna tarea falla, la ejecución del trabajo se marca como fallida después de que Cloud Run haya probado todas las tareas.

De forma predeterminada, cada tarea se ejecuta durante un máximo de 10 minutos. Puedes modificar el valor predeterminado cambiando el ajuste de tiempo de espera de la tarea, hasta un máximo de 168 horas (7 días). La compatibilidad con los tiempos de espera superiores a 24 horas está disponible en la vista previa.

No hay ningún tiempo de espera explícito para la ejecución de una tarea: cuando se completan todas las tareas, la ejecución de la tarea se completa.

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

Roles obligatorios

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

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.

Registros e imágenes de contenedores admitidos

Puedes usar directamente imágenes de contenedor almacenadas en Artifact Registry o Docker Hub. Google recomienda usar Artifact Registry. Las imágenes de Docker Hub se almacenan en caché durante un máximo de una hora.

Puedes usar imágenes de contenedor de otros registros públicos o privados (como JFrog Artifactory, Nexus o GitHub Container Registry) configurando un repositorio remoto de Artifact Registry.

Solo deberías usar Docker Hub para desplegar imágenes de contenedor populares, como las imágenes oficiales de Docker o las imágenes de OSS patrocinadas por Docker. Para aumentar la 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 al implementar desde Docker Hub o un repositorio remoto de Artifact Registry con un registro externo.

Crear una tarea

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

Consola

Para crear un trabajo, sigue estos pasos:

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

    Ir a Cloud Run

  2. Selecciona Trabajos en el menú y haz clic en Implementar contenedor para mostrar el formulario Crear trabajo.

    1. En el formulario, especifica la imagen del contenedor que contiene el código del trabajo o selecciona una de la lista de contenedores desplegados anteriormente.
    2. El nombre del trabajo se genera automáticamente 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 una vez creado.
    3. Selecciona la región en la que quieras que se encuentre tu trabajo. El selector de regiones destaca las regiones con las emisiones de carbono más bajas.
    4. Especifica el número de tareas que quieres ejecutar en el trabajo. Todas las tareas deben completarse correctamente para que el trabajo se realice correctamente. De forma predeterminada, las tareas se ejecutan en paralelo.
  3. Haz clic en Contenedores, Volúmenes, Redes y Seguridad para definir propiedades de trabajo adicionales.

    • En Capacidad de tareas:
    1. En el menú Memoria, especifica la cantidad de memoria necesaria. El valor predeterminado es el mínimo necesario, 512 MiB.
    2. En el menú CPU, especifica la cantidad de CPU necesaria. El valor predeterminado es el mínimo necesario, 1 CPU.
    3. En Tiempo de espera de la tarea, especifica el tiempo máximo en segundos que puede ejecutarse la tarea (hasta 168 horas o 7 días). La compatibilidad con los tiempos de espera superiores a 24 horas está disponible en Vista previa. Cada tarea debe completarse en este plazo. El valor predeterminado es 10 minutos (600 segundos).

    4. En Número de reintentos por tarea fallida, especifica el número de reintentos en caso de que se produzcan errores en las tareas. El valor predeterminado es 3 reintentos.

    • En Paralelismo:

      1. En la mayoría de los casos, puedes seleccionar Ejecutar tantas tareas simultáneamente como sea posible.
      2. Si necesitas definir un límite inferior debido a las restricciones de escalado de los recursos a los que accede tu trabajo, selecciona Limitar el número máximo de tareas simultáneas y especifica el número de tareas simultáneas en el campo Límite de paralelismo personalizado.
  4. También puedes configurar otros ajustes en las pestañas correspondientes:

  5. Cuando haya terminado de configurar el trabajo, haga clic en Crear para crear el trabajo en Cloud Run.

  6. Para ejecutar la tarea, consulta Ejecutar tareas o Ejecutar tareas según una programación.

gcloud

Para usar la línea de comandos, debes haber configurado la CLI de gcloud.

Para crear un trabajo, sigue estos pasos:

  1. Ejecuta el comando:

    gcloud run jobs create JOB_NAME --image IMAGE_URL OPTIONS
    También puedes usar el comando de implementación:
    gcloud run jobs deploy JOB_NAME --image IMAGE_URL OPTIONS

    Haz los cambios siguientes:

    • JOB_NAME: el nombre del trabajo que quieras crear. Si omite este parámetro, se le pedirá el nombre del trabajo cuando ejecute el comando.
    • IMAGE_URL: una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • También puedes sustituir 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 y el máximo es 10.000. A cada tarea se le proporcionan 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 el número de tareas.
      --max-retries Número de veces que se vuelve a intentar una tarea fallida. Si alguna tarea supera este límite, todo el trabajo se marcará como fallido. Por ejemplo, si se define en 1, una tarea fallida se volverá a intentar una vez, lo que supone un total de dos intentos. y 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 y el máximo es de 168 horas (7 días). La compatibilidad con los tiempos de espera superiores a 24 horas está disponible en Vista previa.
      --parallelism Número máximo de tareas que se pueden ejecutar en paralelo. De forma predeterminada, las tareas se iniciarán en paralelo lo más rápido posible. Consulta Paralelismo para ver el intervalo de valores.
      --execute-now Si se define, inmediatamente después de crear el trabajo, se inicia una ejecución del trabajo. Es equivalente a llamar a gcloud run jobs create seguido de gcloud run jobs execute.

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

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

  2. Espera a que termine de crearse el trabajo. Si el proceso se completa correctamente, aparecerá un mensaje de confirmación.

  3. Para ejecutar la tarea, consulta Ejecutar tareas o Ejecutar tareas según una programación.

YAML

Puedes almacenar la especificación de tu trabajo en un archivo YAML y, a continuación, implementarlo con la CLI de gcloud.

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

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

    Haz los cambios siguientes:

    • JOB: el nombre de tu tarea de Cloud Run. Los nombres de los trabajos deben tener 49 caracteres o menos y ser únicos por región y proyecto.
    • IMAGE_URL: una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.

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

  2. Implementa el nuevo trabajo con el siguiente comando:

    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     = "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 de cliente

Para crear un trabajo a partir de un código, sigue estos pasos:

API REST

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

Por ejemplo, si usas 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

Haz los cambios siguientes:

Ubicaciones de Cloud Run

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

Cumplir tus requisitos de latencia, disponibilidad o durabilidad son factores primordiales para seleccionar la región en la que se ejecutan tus servicios de Cloud Run. Por lo general, puedes seleccionar la región más cercana a tus usuarios, pero debes tener en cuenta la ubicación de los otros Google Cloudproductos que utiliza tu servicio de Cloud Run. Usar Google Cloud productos juntos en varias ubicaciones puede afectar a la latencia y al coste de tu servicio.

Cloud Run está disponible en las siguientes regiones:

Con sujeción a los precios del nivel 1

  • asia-east1 (Taiwán)
  • asia-northeast1 (Tokio)
  • asia-northeast2 (Osaka)
  • asia-south1 (Bombay, la India)
  • europe-north1 (Finlandia) icono de una hoja CO2 bajo
  • europe-north2 (Estocolmo) icono de una hoja CO2 bajo
  • europe-southwest1 (Madrid) icono de una hoja CO2 bajo
  • europe-west1 (Bélgica) icono de una hoja CO2 bajo
  • europe-west4 (Países Bajos) icono de una hoja CO2 bajo
  • europe-west8 (Milán)
  • europe-west9 (París) icono de una hoja CO2 bajo
  • me-west1 (Tel Aviv)
  • northamerica-south1 (México)
  • us-central1 (Iowa) icono de una hoja CO2 bajo
  • us-east1 (Carolina del Sur)
  • us-east4 (Norte de Virginia)
  • us-east5 (Columbus)
  • us-south1 (Dallas) icono de una hoja CO2 bajo
  • us-west1 (Oregón) icono de una hoja CO2 bajo

Con sujeción 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, la India)
  • australia-southeast1 (Sídney)
  • australia-southeast2 (Melbourne)
  • europe-central2 Varsovia (Polonia)
  • europe-west10 (Berlín) icono de una hoja CO2 bajo
  • europe-west12 (Turín)
  • europe-west2 (Londres, Reino Unido) icono de una hoja CO2 bajo
  • europe-west3 (Fráncfort, Alemania)
  • europe-west6 (Zúrich, Suiza) icono de una hoja CO2 bajo
  • me-central1 (Doha)
  • me-central2 (Dammam)
  • northamerica-northeast1 (Montreal) icono de una hoja CO2 bajo
  • northamerica-northeast2 (Toronto) icono de una hoja CO2 bajo
  • southamerica-east1 (São Paulo, Brasil) icono de una hoja CO2 bajo
  • southamerica-west1 (Santiago, Chile) icono de una hoja CO2 bajo
  • us-west2 (Los Ángeles)
  • us-west3 (Salt Lake City)
  • us-west4 (Las Vegas)

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

Cuando creas un trabajo, el agente de servicio de Cloud Run debe poder acceder al contenedor, lo que ocurre de forma predeterminada.

Actualizar un trabajo

Para cambiar cualquier ajuste de configuración, debes actualizar el trabajo, aunque no se haya modificado la imagen del contenedor. Ten en cuenta que, si no cambias ningún ajuste, se seguirán usando los anteriores.

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

Consola

Para actualizar un trabajo, sigue estos pasos:

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

    Ir a Cloud Run

  2. Haga clic en la pestaña Tareas para ver la lista de tareas.

  3. Haz clic en el trabajo para que se muestre la página Detalles del trabajo.

  4. Haz clic en Editar.

  5. Si ha hecho cambios en el código de trabajo, especifique el nuevo resumen de imagen del contenedor.

  6. Si es necesario, puede cambiar el número de tareas del trabajo.

  7. Opcionalmente, haga clic en Contenedores, Volúmenes, Redes y Seguridad para actualizar las propiedades adicionales del trabajo:

    • En Capacidad de tareas:
    1. En el menú Memoria, especifica la cantidad de memoria necesaria. El valor predeterminado es el mínimo necesario, 512 MiB.
    2. En el menú CPU, especifica la cantidad de CPU necesaria. El valor predeterminado es el mínimo necesario, 1 CPU.
    3. En Tiempo de espera de la tarea, especifica el tiempo máximo en segundos que puede ejecutarse la tarea (hasta 168 horas o 7 días). La compatibilidad con los tiempos de espera superiores a 24 horas está disponible en Vista previa. Cada tarea debe completarse en este tiempo. El valor predeterminado es 10 minutos (600 segundos).
    4. En Número de reintentos por tarea fallida, especifica el número de reintentos en caso de que se produzcan errores en las tareas. El valor predeterminado es 3 reintentos.
    • En Paralelismo:

      1. En la mayoría de los casos, puedes seleccionar Ejecutar tantas tareas simultáneamente como sea posible.
      2. Si necesitas definir un límite inferior debido a las restricciones de escalado de los recursos a los que accede tu trabajo, selecciona Limitar el número de tareas simultáneas y especifica el número máximo de tareas simultáneas en el campo Límite de paralelismo personalizado.
  8. También puedes configurar otros ajustes en las pestañas correspondientes:

  9. Cuando hayas terminado de configurar el trabajo, haz clic en Guardar para crear el trabajo en Cloud Run y espera a que se complete la creación del trabajo.

  10. Para ejecutar la tarea, consulta Ejecutar tareas o Ejecutar tareas 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 comando:

    gcloud run jobs update JOB_NAME

    Haz los cambios siguientes:

    • JOB_NAME: el nombre del trabajo que quieras actualizar.
    • También puedes sustituir OPTIONS por las siguientes opciones:

      Opción Descripción
      --tasks Acepta números enteros iguales o mayores que 1. El valor predeterminado es 1 y el máximo es 10.000. A cada tarea se le proporcionan 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 el número de tareas.
      --max-retries Número de veces que se vuelve a intentar una tarea fallida. Si alguna tarea supera este límite, todo el trabajo se marcará como fallido. Por ejemplo, si se define en 1, una tarea fallida se volverá a intentar una vez, lo que supone 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 y el máximo es de 168 horas (7 días). La compatibilidad con los tiempos de espera superiores a 24 horas está disponible en Vista previa.
      --parallelism Número máximo de tareas que se pueden ejecutar en paralelo. De forma predeterminada, las tareas se iniciarán lo antes posible en paralelo. Consulta Paralelismo para ver el intervalo de valores.

    Además de las opciones anteriores, puede definir otros ajustes de configuración opcionales:

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

  3. Espera a que termine la actualización del trabajo. Si se completa correctamente, se mostrará un mensaje de éxito 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 la tarea, consulta Ejecutar tareas o Ejecutar tareas según una programación.

  5. YAML

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

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

    En un archivo YAML de configuración de una tarea, modifica los spec.template atributos secundarios que necesites para actualizar los ajustes de configuración y, a continuación, vuelve a implementar:

    1. Actualiza la configuración de la tarea:

      gcloud run jobs replace job.yaml
    2. Para ejecutar la tarea, consulta Ejecutar tareas o Ejecutar tareas según una programación.

    Terraform

    Modifica la configuración del trabajo en el archivo main.tf con el comando terraform apply. Hay instrucciones detalladas de Terraform disponibles para:

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

    Bibliotecas de cliente

    Para actualizar un trabajo a partir de código, sigue estos pasos:

    API REST

    Para actualizar un trabajo, envía una solicitud HTTP PATCH a la API Admin de Cloud Run jobs endpoint.

    Por ejemplo, si usas 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

    Haz los cambios siguientes:

Código de muestra

Para ver ejemplos de código que muestran trabajos, consulta las guías de inicio rápido específicas de cada lenguaje.

Desplegar varios contenedores en un trabajo (sidecars)

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

Puedes desplegar hasta 10 contenedores por instancia, incluido el contenedor de la tarea principal. Todos los contenedores de una instancia comparten el mismo espacio de nombres de red y pueden compartir archivos mediante un volumen compartido en memoria.

Casos prácticos

Los sidecars se suelen usar en los siguientes casos prácticos:

  • Obtener métricas personalizadas de los trabajos de Cloud Run y enviarlas al backend que elijas mediante agentes de recogida de datos, como Prometheus u OpenTelemetry.
  • Permite que las aplicaciones que no tienen lógica de HashiCorp Vault integrada usen secretos estáticos y dinámicos procedentes de Vault mediante Vault Sidecar.

Desplegar un trabajo con contenedores sidecar

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

Haga clic en la pestaña para ver las instrucciones sobre cómo usar la herramienta que prefiera.

Consola

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

    Ir a Cloud Run

  2. Para implementar en una tarea, haga clic en Tareas, busque la tarea en la lista y haga clic para abrirla. A continuación, haga clic en Ver y editar configuración para mostrar el formulario de edición de la tarea.

  3. Para crear un trabajo, haga clic en Desplegar contenedor y, a continuación, en Trabajo. Proporciona el nombre del trabajo y la URL de la imagen del contenedor de trabajo principal que quieras desplegar.

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

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

  6. Haga clic en Añadir contenedor y configure un contenedor auxiliar que quiera añadir junto al contenedor de trabajo principal. Si el sidecar depende de otro contenedor del servicio, indícalo en el menú desplegable Orden de inicio de los contenedores. Repite este paso con cada contenedor sidecar que vayas a implementar.

  7. Haz clic en Crear para crear un servicio o en Actualizar para actualizar un trabajo. A continuación, espera a que se complete el despliegue.

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. Para desplegar varios contenedores en un trabajo, ejecuta el siguiente comando:

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

    Haz los cambios siguientes:

    • JOB: el nombre del trabajo al que vas a implementar. Puedes omitir este parámetro por completo, pero se te pedirá el nombre de la tarea si lo haces.
    • JOB_CONTAINER_NAME: un nombre para el contenedor de trabajo principal.
    • IMAGE_URL: una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIDECAR_CONTAINER_NAME: el nombre del contenedor sidecar, por ejemplo, sidecar.
    • SIDECAR_IMAGE: una referencia a la imagen del contenedor secundario.

    Si quiere configurar cada contenedor en el comando de implementación, proporcione la configuración de cada contenedor después de los parámetros container. Por ejemplo:

    gcloud run jobs create JOB \
      --container CONTAINER_1_NAME \
      --image='IMAGE_URL' \
      --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. Si se completa correctamente, se mostrará un mensaje de éxito.

  4. 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 con el siguiente contenido:

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

    Haz los cambios siguientes:

    • JOB con el nombre del contenedor de trabajo principal de Cloud Run. Los nombres de los trabajos deben tener 49 caracteres como máximo.
    • IMAGE_URL: una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIDECAR_IMAGE: una referencia a la imagen del contenedor secundario.

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

    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 = "europe-west1"
    
      template {
        template {
          containers {
            name = "CONTAINER_NAME"
            image = "IMAGE_URL"
          }
          containers {
            name = "SIDECAR_CONTAINER_NAME"
            image = "SIDECAR_IMAGE_URL"
          }
        }
      }
    }
    
    

    Haz los cambios siguientes:

    • JOB_NAME: el nombre de tu tarea de Cloud Run.
    • CONTAINER_NAME: el nombre del contenedor.
    • IMAGE_URL: una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIDECAR_CONTAINER_NAME: el nombre del contenedor secundario.
    • SIDECAR_IMAGE_URL: una referencia a la imagen del contenedor secundario.

Funciones disponibles para los despliegues con sidecars

Puede especificar el orden de inicio de los contenedores en una implementación con varios contenedores si tiene dependencias que requieren que algunos contenedores se inicien antes que otros en la implementación.

Si tienes contenedores que dependen de otros contenedores, debes usar comprobaciones de estado de inicio en tu implementación. Si usas comprobaciones de estado, Cloud Run sigue el orden de inicio de los contenedores e inspecciona el estado de cada uno de ellos. De esta forma, se asegura de que cada contenedor se complete correctamente antes de que Cloud Run inicie el siguiente contenedor en el orden. Si no usas comprobaciones del estado, los contenedores en buen estado se iniciarán aunque los contenedores de los que dependen no estén en ejecución.

Varios contenedores de una misma instancia pueden acceder a un volumen en memoria compartido, al que puede acceder cada contenedor mediante los puntos de montaje que crees.

Siguientes pasos

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