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:
- Ejecuta el trabajo como una sola vez, según un programa, o como parte de un flujo de trabajo.
- Anula los parámetros configurados para un trabajo cuando lo ejecutes.
- Administrar ejecuciones de trabajos individuales y ver los registros de ejecución
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 falló, la ejecución del trabajo se marca como con errores después de que Cloud Run haya intentado ejecutar todas las tareas.
De forma predeterminada, cada tarea se ejecuta durante 10 minutos como máximo. Puedes modificar el valor predeterminado cambiando la configuración del tiempo de espera de las tareas hasta 168 horas (7 días). Para las tareas que usan GPU, el tiempo de espera máximo disponible es de 1 hora.
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 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 - Lector de Artifact Registry (
roles/artifactregistry.reader) en el repositorio de Artifact Registry de las imágenes de contenedor del trabajo
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 lasGoogle Cloud APIs, 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 los permisos de implementación y cómo administrar el acceso.
Imágenes y registros de contenedores compatibles
Puedes usar directamente imágenes de contenedor almacenadas en Artifact Registry o imágenes públicas de Docker Hub o GitHub Container Registry. Google recomienda el uso de Artifact Registry. Las imágenes públicas de GitHub Container Registry y 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 o Nexus), o imágenes privadas de GitHub Container Registry, configurando 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 o GitHub Container Registry con 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 realiza la implementación desde Docker Hub o un repositorio remoto de Artifact Registry con un registro externo.
Crea un trabajo nuevo
Puedes crear un trabajo nuevo con la consola de Google Cloud , gcloud CLI, YAML, Terraform, las bibliotecas cliente o la API de REST:
Console
Para crear un trabajo nuevo, sigue estos pasos:
En la Google Cloud consola, ve a la página de trabajos de Cloud Run:
Haz clic en Implementar contenedor para mostrar el formulario Crear trabajo.
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.
El nombre del trabajo se genera de forma automática a partir de la imagen de contenedor. Puedes editar el nombre del trabajo según sea necesario en el formulario. Después de enviar el formulario, no podrás editar el nombre del trabajo.
En el campo Región, selecciona la región para tu trabajo. El selector de regiones destaca las regiones con el impacto de carbono más bajo.
Especifica la cantidad de tareas que se ejecutarán 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.
Haz clic en Contenedores, herramientas de redes y seguridad para establecer propiedades de trabajo adicionales.
En la sección Editar contenedor, puedes configurar los siguientes parámetros en las pestañas correspondientes:
En la sección Capacidad de tareas, especifica lo siguiente:
En el campo 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). Para las tareas que usan GPUs, el tiempo de espera máximo disponible es de 1 hora. Cada tarea debe completarse dentro de este plazo. El valor predeterminado es de 10 minutos.
En el campo 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, selecciona Ejecutar tantas tareas como sea posible si necesitas establecer un límite inferior debido a las restricciones de escalamiento en los recursos a los que accede tu trabajo, o 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.
Cuando termines de configurar tu trabajo, haz clic en Crear para crear el trabajo en Cloud Run.
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 gcloud CLI.
Para crear un trabajo nuevo, sigue estos pasos:
Ejecuta el siguiente comando:
Como alternativa, usa el comando de implementación:gcloud run jobs create JOB --image IMAGE_URL OPTIONS
gcloud run jobs deploy JOB --image IMAGE_URL OPTIONS
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.OPTIONS(opcional): Cualquiera de las siguientes opciones:Opción Descripción --tasksAcepta 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_INDEXcon un valor entre 0 y el número de tareas menos 1, junto conCLOUD_RUN_TASK_COUNT, que es la cantidad de tareas--max-retriesLa 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-timeoutAcepta una duración como “2s”. La configuración predeterminada es de 10 minutos. El máximo es de 168 horas (7 días). Para las tareas que usan GPUs, el tiempo de espera máximo disponible es de 1 hora. --parallelismLa 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-nowSi se configura, de inmediato después de crear el trabajo, se inicia una ejecución de trabajo. Equivalente a llamar a gcloud run jobs createseguido degcloud 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.
Espera a que finalice la creación del trabajo. Cuando se complete el proceso, verás un mensaje de éxito.
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.
Crea un archivo
job.yamlnuevo con este contenido:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE_URL
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.
También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.
Implementa el trabajo nuevo a través de la ejecución del 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.
Agrega lo siguiente a un recursogoogle_cloud_run_v2_job en tu configuración de Terraform: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
Reemplaza lo siguiente:
ACCESS_TOKEN: Es 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 congcloud 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.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.PROJECT_ID: Es el ID del proyecto de Google Cloud .REGION: La Google Cloud región del trabajo.JOB: Es el nombre del trabajo que deseas crear.
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 Google Cloud
productos que usa el servicio de Cloud Run.
Si usas productos de Google Cloud manera conjunta 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
asia-east1(Taiwán)asia-northeast1(Tokio)asia-northeast2(Osaka)asia-south1(Bombay, India)asia-southeast3(Bangkok)europe-north1(Finlandia)Bajo nivel de CO2
europe-north2(Estocolmo)Bajo nivel de CO2
europe-southwest1(Madrid)Bajo nivel de CO2
europe-west1(Bélgica)Bajo nivel de CO2
europe-west4(Países Bajos)Bajo nivel de CO2
europe-west8(Milán)Bajo nivel de CO2
europe-west9(París)Bajo nivel de CO2
me-west1(Tel Aviv)northamerica-south1(México)us-central1(Iowa)Bajo nivel de CO2
us-east1(Carolina del Sur)us-east4(Virginia del Norte)us-east5(Columbus)us-south1(Dallas)Bajo nivel de CO2
us-west1(Oregón)Bajo nivel de CO2
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-south2Delhi (India)australia-southeast1(Sídney)australia-southeast2(Melbourne)europe-central2(Varsovia, Polonia)Bajo nivel de CO2
europe-west10(Berlín)europe-west12(Turín)Bajo nivel de CO2
europe-west2(Londres, Reino Unido)Bajo nivel de CO2
europe-west3(Fráncfort, Alemania)europe-west6(Zúrich, Suiza)Bajo nivel de CO2
me-central1(Doha)me-central2(Dammam)northamerica-northeast1(Montreal)Bajo nivel de CO2
northamerica-northeast2(Toronto)Bajo nivel de CO2
southamerica-east1(São Paulo, Brasil)Bajo nivel de CO2
southamerica-west1(Santiago, Chile)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 deGoogle 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 Google Cloud consola, gcloud CLI, YAML, Terraform, las bibliotecas cliente o la API de REST:
Console
Para actualizar un trabajo existente, sigue estos pasos:
En la Google Cloud consola, ve a la página de trabajos de Cloud Run:
Haz clic en el trabajo para mostrar la página Detalles del trabajo.
Haz clic en Ver y editar la configuración del trabajo.
Opcional: Cambia la cantidad de tareas que están en el trabajo si es necesario.
Opcional: Haz clic en Contenedores, herramientas de redes y seguridad para actualizar las propiedades de trabajo adicionales:
En la sección Capacidad de tareas, especifica lo siguiente:
En el campo 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). Para las tareas que usan GPUs, el tiempo de espera máximo disponible es de 1 hora. Cada tarea debe completarse dentro de este plazo. El valor predeterminado es de 10 minutos.
En el campo 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, selecciona Ejecutar tantas tareas como sea posible si necesitas establecer un límite inferior debido a las restricciones de escalamiento en los recursos a los que accede tu trabajo, o bien 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.
Cuando termines de configurar tu trabajo, haz clic en Actualizar para modificar el trabajo en Cloud Run y espera a que termine la creación del trabajo.
Para ejecutar el trabajo, consulta ejecuta trabajos o ejecuta trabajos según una programación.
gcloud
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Ejecuta el comando siguiente:
gcloud run jobs update JOB
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.OPTIONS(opcional): con las siguientes opciones:Opción Descripción --tasksAcepta 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_INDEXcon un valor entre 0 y el número de tareas menos 1, junto conCLOUD_RUN_TASK_COUNT, que es la cantidad de tareas--max-retriesLa 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-timeoutAcepta una duración como “2s”. La configuración predeterminada es de 10 minutos. El máximo es de 168 horas (7 días). --parallelismLa 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 otros parámetros de configuración opcionales:
- Configuración del contenedor
- Límites de CPU
- Límites de memoria
- Secretos
- Variables de entorno
- Labels
- Cuentas de servicio
- Conexiones de Cloud SQL
- Conexión de VPC
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.
Espera a que finalice la actualización del trabajo. Cuando el proceso finalice correctamente, se mostrará un mensaje similar al siguiente:
Job [JOB] has been successfully updated. View details about this job by running `gcloud run jobs describe JOB`. See logs for this execution at: https://console.cloud.google.com/logs/viewer?project=PROJECT_ID&resource=cloud_run_revision/service_name/JOB
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, ejecuta el siguiente comando para guardar los resultados en un archivo YAML:
gcloud run jobs describe JOB --format export > job.yaml
Modifica los atributos secundarios
spec.templatesegún sea necesario y, luego, vuelve a implementar ejecutando el siguiente comando:gcloud run jobs replace job.yaml
El comando
gcloud run jobs replaceusa de forma predeterminada el archivojob.yamlsi está presente.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
Reemplaza lo siguiente:
ACCESS_TOKEN: Es 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 congcloud 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.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.PROJECT_ID: Es el ID del proyecto de Google Cloud .REGION: La Google Cloud región del trabajo.JOB: Es el nombre del trabajo que deseas actualizar.
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 trabajos 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 pueden compartir archivos con un volumen compartido en la memoria.
Casos de uso
Los sidecars son de uso frecuente en los siguientes casos de uso:
- Recopila métricas personalizadas de los trabajos de Cloud Run y envíalas a un backend especificado de tu elección con agentes recopiladores, como Prometheus o OpenTelemetry.
- Permite que las aplicaciones sin lógica de Hashicorp Vault integrada usen secrets estáticos y dinámicos provenientes de Vault con el complemento de Vault.
Implementa un trabajo con contenedores sidecar
Puedes implementar varios sidecars en un trabajo de Cloud Run con laGoogle Cloud consola, gcloud CLI, YAML o Terraform:
Console
En la Google Cloud consola, ve a la página de trabajos de Cloud Run:
Para implementar en un trabajo existente, haz clic en Trabajos. Ubica el trabajo en la lista de trabajos y haz clic para abrirlo. Luego, haz clic en Ver y editar la configuración para mostrar el formulario de edición del trabajo.
Para un trabajo nuevo, haz clic en Implementar contenedor. Proporciona la URL de la imagen de contenedor y el nombre del trabajo.
Haz clic en Contenedores, redes y seguridad.
En la tarjeta Editar contenedor, configura el contenedor del trabajo principal según sea necesario.
Haz clic en Agregar contenedor y configura un contenedor sidecar que quieras agregar junto con el contenedor del 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 sidecar que implementes.
Haz clic en Crear para un servicio nuevo o en Actualizar para un trabajo existente y espera a que finalice la implementación.
gcloud
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Para implementar 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'
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.JOB_CONTAINER_NAME: Es el nombre del contenedor de trabajo principal.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.SIDECAR_CONTAINER_NAME: Es un nombre para el contenedor de archivo adicional, por ejemplo,sidecar.SIDECAR_IMAGE: Es una referencia a la imagen del contenedor 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
containercomo en el siguiente 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
Espera a que finalice la implementación de los trabajos. Una vez que la operación se completa de manera correcta, se muestra un mensaje de éxito.
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 --format export > job.yaml
Actualiza los atributos
containers::apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: containers: - image: IMAGE_URL - image: SIDECAR_IMAGEReemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.SIDECAR_IMAGE: Es una referencia a la imagen del contenedor sidecar.
Crea o actualiza el servicio con el siguiente comando:
gcloud run jobs replace job.yaml
El comando
gcloud run jobs replaceusa de forma predeterminada el archivojob.yamlsi está presente.
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega lo siguiente a un recursogoogle_cloud_run_v2_job en tu configuración de Terraform:resource "google_cloud_run_v2_job" "default" {
name = "JOB"
location = "europe-west1"
template {
template {
containers {
name = "CONTAINER_NAME"
image = "IMAGE_URL"
}
containers {
name = "SIDECAR_CONTAINER_NAME"
image = "SIDECAR_IMAGE_URL"
}
}
}
}
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.CONTAINER_NAME: Es el nombre del contenedor.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.SIDECAR_CONTAINER_NAME: Es el nombre del contenedor secundario.SIDECAR_IMAGE_URL: Es una referencia a la imagen del contenedor sidecar.
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.
Limitaciones
Si tu trabajo se conecta a instancias de Cloud SQL con la función integrada de Cloud Run, consulta el problema conocido en Conexiones integradas de Cloud SQL.
¿Qué sigue?
Después de crear o actualizar un trabajo, puedes hacer lo siguiente:
- Ejecutar un trabajo
- Ejecutar un trabajo según un programa
- Administrar empleos
- Administrar ejecuciones de trabajos
- Ver registros de trabajos
- Supervisar el rendimiento del trabajo
- Establece límites de memoria
- Configure las variables de entorno