Questa pagina descrive come creare e aggiornare i job Cloud Run da un'immagine container esistente. A differenza di un servizio Cloud Run, che ascolta e gestisce le richieste, un job Cloud Run esegue solo le sue attività e termina al termine. Un job non ascolta né gestisce le richieste.
Dopo aver creato o aggiornato un lavoro, puoi:
- Esegui il job una sola volta, in base a una pianificazione o nell'ambito di un workflow.
- Puoi eseguire l'override dei parametri configurati per un job quando lo esegui.
- Puoi gestire le singole esecuzioni dei job e visualizzare i log di esecuzione.
Puoi strutturare un job come una singola attività o come più attività indipendenti (fino a 10.000) che possono essere eseguite in parallelo. Ogni
attività esegue un'istanza container e può essere configurata per riprovare in caso di
errore. Ogni attività è consapevole del proprio indice, che viene memorizzato nella
variabile di ambiente CLOUD_RUN_TASK_INDEX
. Il conteggio complessivo delle attività
è memorizzato nella variabile di ambiente CLOUD_RUN_TASK_COUNT
. Se elabori
i dati in parallelo, il tuo codice è responsabile di determinare quale attività gestisce
quale sottoinsieme di dati.
Puoi impostare timeout per le attività e specificare il numero di tentativi in caso di errore dell'attività. Se un'attività supera il numero massimo di tentativi, viene contrassegnata come non riuscita. Se alcune attività non sono riuscite, l'esecuzione del job viene contrassegnata come non riuscita dopo che Cloud Run ha provato tutte le attività.
Per impostazione predefinita, ogni attività viene eseguita per un massimo di 10 minuti. Puoi modificare il valore predefinito cambiando l'impostazione del timeout dell'attività, fino a un massimo di 168 ore (7 giorni). Il supporto per i timeout superiori a 24 ore è disponibile in anteprima.
Non esiste un timeout esplicito per l'esecuzione di un job: una volta completate tutte le attività, l'esecuzione del job è completata.
I job utilizzano l'ambiente di esecuzione di seconda generazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare job Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Cloud Run Developer (
roles/run.developer
) sul job Cloud Run -
Utente service account (
roles/iam.serviceAccountUser
) sull'identità di servizio -
Lettore Artifact Registry (
roles/artifactregistry.reader
) nel repository Artifact Registry delle immagini container del job
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM Cloud Run e Autorizzazioni IAM Cloud Run. Se il tuo job Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.
Registri e immagini container supportati
Puoi utilizzare direttamente le immagini container archiviate in Artifact Registry o Docker Hub. Google consiglia l'utilizzo di Artifact Registry. Le immagini Docker Hub vengono memorizzate nella cache per un massimo di un'ora.
Puoi utilizzare immagini container da altri registri pubblici o privati (come JFrog Artifactory, Nexus o GitHub Container Registry) configurando un repository remoto di Artifact Registry.
Devi prendere in considerazione Docker Hub solo per il deployment di immagini container popolari come le immagini ufficiali di Docker o le immagini OSS sponsorizzate da Docker. Per una maggiore disponibilità, Google consiglia di eseguire il deployment di queste immagini Docker Hub utilizzando un repository remoto di Artifact Registry.
Cloud Run non supporta i livelli di immagini container più grandi di 9,9 GB quando esegui il deployment da Docker Hub o da un repository remoto Artifact Registry con un registro esterno.
Crea un nuovo job
Puoi creare un nuovo job utilizzando la console Google Cloud , Google Cloud CLI, YAML o Terraform.
Console
Per creare un nuovo lavoro:
Nella console Google Cloud , vai alla pagina Cloud Run:
Seleziona Job dal menu e fai clic su Deploy container per visualizzare il modulo Crea job.
- Nel modulo, specifica l'immagine container contenente il codice del job o seleziona un'immagine da un elenco di container di cui è stato eseguito il deployment in precedenza.
- Il nome del job viene generato automaticamente dall'immagine container. Puoi modificare o cambiare il nome del job in base alle tue esigenze. Il nome di un job non può essere modificato dopo la creazione.
- Seleziona la regione in cui vuoi che si trovi il job. Il selettore delle regioni evidenzia le regioni con l'impatto delle emissioni di carbonio più basso.
- Specifica il numero di attività da eseguire nel job. Tutte le attività devono avere esito positivo affinché il job riesca. Per impostazione predefinita, le attività vengono eseguite in parallelo.
Fai clic su Container, volumi, networking, sicurezza per impostare proprietà aggiuntive del job.
- In Capacità dell'attività:
- Nel menu Memoria, specifica la quantità di memoria richiesta. Il valore predefinito è il minimo richiesto, ovvero 512 MiB.
- Nel menu CPU, specifica la quantità di CPU richiesta. Il valore predefinito è il minimo richiesto, ovvero 1 CPU.
In Timeout attività, specifica il periodo di tempo massimo in secondi durante il quale l'attività può essere eseguita, fino a 168 ore (7 giorni). Il supporto per i timeout superiori a 24 ore è disponibile in anteprima. Ogni attività deve essere completata entro questo periodo di tempo. Il valore predefinito è 10 minuti (600 secondi).
In Numero di nuovi tentativi per attività non riuscita, specifica il numero di nuovi tentativi in caso di errori dell'attività. Il valore predefinito è 3 tentativi.
In Parallelismo:
- Nella maggior parte dei casi puoi selezionare Esegui simultaneamente il maggior numero di attività possibile.
- Se devi impostare un limite inferiore a causa di vincoli di scalabilità sulle risorse a cui accede il job, seleziona Limita il numero massimo di attività simultanee e specifica il numero di attività simultanee nel campo Limite di parallelismo personalizzato.
(Facoltativo) Configura altre impostazioni nelle schede appropriate:
Al termine della configurazione del job, fai clic su Crea per crearlo in Cloud Run.
Per eseguire il job, consulta Eseguire job o Eseguire job in base a una pianificazione.
gcloud
Per utilizzare la riga di comando, devi aver già configurato gcloud CLI.
Per creare un nuovo lavoro:
Esegui il comando:
In alternativa, utilizza il comando di deployment:gcloud run jobs create JOB_NAME --image IMAGE_URL OPTIONS
gcloud run jobs deploy JOB_NAME --image IMAGE_URL OPTIONS
- Sostituisci
JOB_NAME
con il nome del job che vuoi creare. Se ometti questo parametro, ti verrà chiesto il nome del job quando esegui il comando. - Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
. (Facoltativo) Sostituisci
OPTIONS
con una delle seguenti opzioni:Opzione Descrizione --tasks
Accetta numeri interi maggiori o uguali a 1. Il valore predefinito è 1; il valore massimo è 10.000. A ogni attività vengono fornite le variabili di ambiente CLOUD_RUN_TASK_INDEX
con un valore compreso tra 0 e il numero di attività meno 1, insieme aCLOUD_RUN_TASK_COUNT
, che è il numero di attività--max-retries
Il numero di volte in cui viene eseguito un nuovo tentativo per un'attività non riuscita. Se una qualsiasi attività non riesce a superare questo limite, l'intero job viene contrassegnato come non riuscito. Ad esempio, se impostato su 1, un'attività non riuscita verrà ritentata una volta, per un totale di due tentativi. Il valore predefinito è 3. Accetta numeri interi compresi tra 0 e 10. --task-timeout
Accetta una durata come "2s". Il valore predefinito è 10 minuti; il massimo è 168 ore (7 giorni). Il supporto per i timeout superiori a 24 ore è disponibile in anteprima. --parallelism
Il numero massimo di attività che possono essere eseguite in parallelo. Per impostazione predefinita, le attività verranno avviate il più rapidamente possibile in parallelo. Per l'intervallo di valori, consulta la sezione Parallelismo. --execute-now
Se impostata, immediatamente dopo la creazione del job viene avviata un'esecuzione del job. Equivalente a chiamare il numero gcloud run jobs create
seguito dagcloud run jobs execute
.Oltre alle opzioni precedenti, puoi specificare anche altre configurazioni, come le variabili di ambiente o i limiti di memoria.
Per un elenco completo delle opzioni disponibili durante la creazione di un job, consulta la documentazione della riga di comando gcloud run jobs create.
- Sostituisci
Attendi il completamento della creazione del job. Al termine dell'operazione, verrà visualizzato un messaggio di conferma.
Per eseguire il job, consulta Eseguire job o Eseguire job in base a una pianificazione.
YAML
Puoi archiviare la specifica del job in un file YAML
e poi eseguirne il deployment
utilizzando gcloud CLI.
Crea un nuovo file
job.yaml
con questi contenuti:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE
Sostituisci
- JOB con il nome del tuo job Cloud Run. I nomi dei job devono contenere al massimo 49 caratteri e devono essere univoci per regione e progetto.
- IMAGE con l'URL dell'immagine container del job.
Puoi anche specificare altre configurazioni, come variabili di ambiente o limiti di memoria.
Esegui il deployment del nuovo job utilizzando il seguente comando:
gcloud run jobs replace job.yaml
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungi quanto segue a una risorsagoogle_cloud_run_v2_job
nella configurazione Terraform:Librerie client
Per creare un job dal codice:
API REST
Per creare un job, invia una richiesta HTTP POST
all'endpoint jobs
dell'API Cloud Run Admin.
Ad esempio, utilizzando 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
Sostituisci:
- ACCESS_TOKEN con un token di accesso valido per un account che
dispone delle autorizzazioni IAM per creare job.
Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un
token di accesso utilizzando
gcloud auth print-access-token
. Da un'istanza container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza container. - JOB_NAME con il nome del job che vuoi creare.
- IMAGE_URL con l'URL dell'immagine container del job, ad esempio,
us-docker.pkg.dev/cloudrun/container/job:latest
. - REGION con la Google Cloud regione del lavoro.
- PROJECT_ID con l' Google Cloud ID progetto.
Località Cloud Run
Cloud Run è regionale, il che significa che l'infrastruttura che
esegue i tuoi servizi Cloud Run si trova in una regione specifica ed è
gestita da Google per essere disponibile in modo ridondante in
tutte le zone all'interno di quella regione.
Il rispetto dei requisiti di latenza, disponibilità o durabilità sono fattori
primari per la selezione della regione in cui vengono eseguiti i servizi Cloud Run.
In genere puoi selezionare la regione più vicina ai tuoi utenti, ma devi considerare
la posizione degli altri Google Cloud
prodotti utilizzati dal tuo servizio Cloud Run.
L'utilizzo Google Cloud combinato di prodotti in più località può influire sulla latenza e sui costi del servizio.
Cloud Run è disponibile nelle seguenti regioni:
Soggetto ai prezzi di Livello 1
asia-east1
(Taiwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)asia-south1
(Mumbai, India)europe-north1
(Finlandia)Bassi livelli di CO2
europe-north2
(Stoccolma)Bassi livelli di CO2
europe-southwest1
(Madrid)Bassi livelli di CO2
europe-west1
(Belgio)Bassi livelli di CO2
europe-west4
(Paesi Bassi)Bassi livelli di CO2
europe-west8
(Milano)europe-west9
(Parigi)Bassi livelli di CO2
me-west1
(Tel Aviv)northamerica-south1
(Messico)us-central1
(Iowa)Bassi livelli di CO2
us-east1
(Carolina del Sud)us-east4
(Virginia del Nord)us-east5
(Columbus)us-south1
(Dallas)Bassi livelli di CO2
us-west1
(Oregon)Bassi livelli di CO2
Soggetto ai prezzi di Livello 2
africa-south1
(Johannesburg)asia-east2
(Hong Kong)asia-northeast3
(Seul, Corea del Sud)asia-southeast1
(Singapore)asia-southeast2
(Giacarta)asia-south2
(Delhi, India)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsavia, Polonia)europe-west10
(Berlino)Bassi livelli di CO2
europe-west12
(Torino)europe-west2
(Londra, Regno Unito)Bassi livelli di CO2
europe-west3
(Francoforte, Germania)Bassi livelli di CO2
europe-west6
(Zurigo, Svizzera)Bassi livelli di CO2
me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal)Bassi livelli di CO2
northamerica-northeast2
(Toronto)Bassi livelli di CO2
southamerica-east1
(San Paolo, Brasile)Bassi livelli di CO2
southamerica-west1
(Santiago, Cile)Bassi livelli di CO2
us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Se hai già creato un servizio Cloud Run, puoi visualizzare la regione nella dashboard di Cloud Run nella consoleGoogle Cloud .
Quando crei un nuovo job, l'agente di servizio Cloud Run deve essere in grado di accedere al container, il che avviene per impostazione predefinita.
Aggiornare un job esistente
La modifica di qualsiasi impostazione di configurazione richiede l'aggiornamento del job, anche se non viene apportata alcuna modifica all'immagine container. Tieni presente che per le impostazioni invariate, continuano a essere utilizzate le impostazioni precedenti.
Puoi aggiornare un job esistente utilizzando la console Google Cloud , Google Cloud CLI, YAML o Terraform.
Console
Per aggiornare un job esistente:
Nella console Google Cloud , vai alla pagina Cloud Run:
Fai clic sulla scheda Job per visualizzare l'elenco dei job.
Fai clic sul job per visualizzare la pagina Dettagli job.
Fai clic su Modifica.
Se hai apportato modifiche al codice del lavoro, specifica il nuovo digest dell'immagine del container.
Se necessario, modifica il numero di attività nel job.
(Facoltativo) Fai clic su Container, volumi, networking, sicurezza per aggiornare eventuali proprietà del job aggiuntive:
- In Capacità dell'attività:
- Nel menu Memoria, specifica la quantità di memoria richiesta. Il valore predefinito è il minimo richiesto, ovvero 512 MiB.
- Nel menu CPU, specifica la quantità di CPU richiesta. Il valore predefinito è il minimo richiesto, ovvero 1 CPU.
- In Timeout attività, specifica il periodo di tempo massimo in secondi durante il quale l'attività può essere eseguita, fino a 168 ore (7 giorni). Il supporto per i timeout superiori a 24 ore è disponibile in anteprima. Ogni attività deve essere completata entro questo periodo di tempo. Il valore predefinito è 10 minuti (600 secondi).
- In Numero di nuovi tentativi per attività non riuscita, specifica il numero di nuovi tentativi in caso di errori dell'attività. Il valore predefinito è 3 tentativi.
In Parallelismo:
- Nella maggior parte dei casi puoi selezionare Esegui simultaneamente il maggior numero di attività possibile.
- Se devi impostare un limite inferiore a causa di vincoli di scalabilità sulle risorse a cui accede il job, seleziona Limita il numero di attività simultanee e specifica il numero massimo di attività simultanee nel campo Limite di parallelismo personalizzato.
(Facoltativo) Configura altre impostazioni nelle schede appropriate:
Al termine della configurazione del job, fai clic su Salva per creare il job in Cloud Run e attendere il completamento della creazione.
Per eseguire il job, consulta Eseguire job o Eseguire job in base a una pianificazione.
gcloud
-
In the Google Cloud console, 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.
Esegui il comando:
gcloud run jobs update JOB_NAME
Sostituisci:
JOB_NAME
con il nome del job che vuoi aggiornare.(Facoltativo) Sostituisci
OPTIONS
con le seguenti opzioni:Opzione Descrizione --tasks
Accetta numeri interi maggiori o uguali a 1. Il valore predefinito è 1; il valore massimo è 10.000. A ogni attività vengono fornite le variabili di ambiente CLOUD_RUN_TASK_INDEX
con un valore compreso tra 0 e il numero di attività meno 1, insieme aCLOUD_RUN_TASK_COUNT
, che è il numero di attività--max-retries
Il numero di volte in cui viene eseguito un nuovo tentativo per un'attività non riuscita. Se una qualsiasi attività non riesce a superare questo limite, l'intero job viene contrassegnato come non riuscito. Ad esempio, se impostato su 1, un'attività non riuscita verrà ritentata una volta, per un totale di due tentativi. Il valore predefinito è 3
. Accetta numeri interi compresi tra 0 e 10.--task-timeout
Accetta una durata come "2s". Il valore predefinito è 10 minuti; il massimo è 168 ore (7 giorni). Il supporto per i timeout superiori a 24 ore è disponibile in anteprima. --parallelism
Il numero massimo di attività che possono essere eseguite in parallelo. Per impostazione predefinita, le attività verranno avviate il più rapidamente possibile, in parallelo. Per l'intervallo di valori, consulta la sezione Parallelismo.
Oltre alle opzioni precedenti, puoi impostare altre impostazioni di configurazione facoltative:
- Configurazione del container
- Limiti di CPU
- Limiti di memoria
- Secret
- Variabili di ambiente
- Etichette
- Service account
- Connessioni Cloud SQL
- Connessione VPC
Per un elenco completo delle opzioni disponibili durante la creazione di un job, consulta la documentazione della riga di comando gcloud run jobs create.
Attendi il completamento dell'aggiornamento del job. Al termine, viene visualizzato un messaggio di operazione riuscita simile al seguente:
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
Per eseguire il job, consulta Eseguire job o Eseguire job in base a una pianificazione.
YAML
Se devi scaricare o visualizzare la configurazione di un job esistente, utilizza il seguente comando per salvare i risultati in un file YAML:
gcloud run jobs describe JOB --format export > job.yaml
Da un file YAML di configurazione del job, modifica gli attributi secondari spec.template
in base alle esigenze per aggiornare le impostazioni di configurazione, quindi esegui di nuovo il deployment:
Aggiorna la configurazione del job esistente:
gcloud run jobs replace job.yaml
Per eseguire il job, consulta Eseguire job o Eseguire job in base a una pianificazione.
Terraform
Apporta modifiche alla configurazione del job nel file main.tf
utilizzando il comando terraform apply
. Sono disponibili istruzioni dettagliate per Terraform per:
Per saperne di più, consulta le opzioni della riga di comando terraform apply
.
Librerie client
Per aggiornare un job esistente dal codice:
API REST
Per aggiornare un job, invia una richiesta HTTP PATCH
all'endpoint jobs
dell'API Cloud Run Admin.
Ad esempio, utilizzando 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
Sostituisci:
- ACCESS_TOKEN con un token di accesso valido per un account che
dispone delle autorizzazioni IAM per aggiornare i job.
Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un
token di accesso utilizzando
gcloud auth print-access-token
. Da un'istanza container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza container. - JOB_NAME con il nome del job che vuoi aggiornare.
- IMAGE_URL con l'URL dell'immagine container del job, ad esempio,
us-docker.pkg.dev/cloudrun/container/job:latest
. - REGION con la Google Cloud regione del lavoro.
- PROJECT_ID con l' Google Cloud ID progetto.
Codice di esempio
Per esempi di codice che mostrano i job, consulta le guide di avvio rapido specifiche per lingua.
Esegui il deployment di più container in un job (sidecar)
In un deployment di job Cloud Run con più container (sidecar), è presente un container di job principale che incapsula la configurazione del job e uno o più container sidecar.
Puoi eseguire il deployment di un massimo di 10 container per istanza, incluso il container del job principale. Tutti i container all'interno di un'istanza condividono lo stesso spazio dei nomi di rete e possono condividere file utilizzando un volume condiviso in memoria.
Casi d'uso
I sidecar vengono comunemente utilizzati per i seguenti casi d'uso:
- Recupero di metriche personalizzate dai job Cloud Run e invio a un backend specificato a tua scelta utilizzando agenti di raccolta, come Prometheus o Opentelemetry.
- Consentire alle applicazioni senza logica Hashicorp Vault integrata di utilizzare secret statici e dinamici provenienti da Vault utilizzando Vault sidecar.
Esegui il deployment di un job con container sidecar
Puoi eseguire il deployment di più sidecar in un job Cloud Run utilizzando la consoleGoogle Cloud , Google Cloud CLI o YAML.
Fai clic sulla scheda relativa alle istruzioni per l'utilizzo dello strumento che preferisci.
Console
Nella console Google Cloud , vai alla pagina Cloud Run:
Per eseguire il deployment in un job esistente, fai clic su Job, individua il job nell'elenco dei job e fai clic per aprirlo, quindi fai clic su Visualizza e modifica configurazione per visualizzare il modulo di modifica del job.
Per un nuovo job, fai clic su Esegui il deployment del contenitore, quindi su Job. Fornisci il nome del job e l'URL dell'immagine del container del job principale di cui vuoi eseguire il deployment.
Fai clic su Container, volumi, networking, sicurezza.
Nella scheda Modifica contenitore, configura il contenitore del job principale in base alle esigenze.
Fai clic su Aggiungi contenitore e configura un contenitore sidecar che vuoi aggiungere insieme al contenitore principale del job. Se il sidecar dipende da un altro contenitore nel servizio, indicalo nel menu a discesa Ordine di avvio del contenitore. Ripeti questo passaggio per ogni contenitore sidecar che stai implementando.
Fai clic su Crea per un nuovo servizio o su Aggiorna per un job esistente, quindi attendi il completamento del deployment.
gcloud
-
In the Google Cloud console, 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.
Per eseguire il deployment di più container in un job, esegui questo comando:
gcloud run jobs create JOB \ --container JOB_CONTAINER_NAME \ --image='JOB_IMAGE' \ --container SIDECAR_CONTAINER_NAME \ --image='SIDECAR_IMAGE'
Sostituisci:
- JOB con il nome del job in cui stai eseguendo il deployment. Puoi omettere completamente questo parametro, ma ti verrà chiesto il nome del job se lo ometti.
- JOB_CONTAINER_NAME con un nome per il contenitore del job principale.
- JOB_IMAGE con un riferimento all'immagine container del job principale, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
. - SIDECAR_CONTAINER_NAME con un nome per il container
sidecar, ad esempio
sidecar
. - SIDECAR_IMAGE con un riferimento all'immagine container sidecar.
Se vuoi configurare ogni contenitore nel comando di deployment, fornisci la configurazione di ciascun contenitore dopo i parametri
container
, ad esempio:gcloud 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
Attendi il completamento del deployment dei job. Al termine dell'operazione, viene visualizzato un messaggio di operazione riuscita.
YAML
Queste istruzioni mostrano un file YAML di base per il job Cloud Run con i sidecar.
Crea un file denominato job.yaml
contenente quanto segue:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: containers: - image: JOB_IMAGE - image: SIDECAR_IMAGE
Sostituisci:
- JOB con il nome del container del job principale di Cloud Run. I nomi dei job devono contenere al massimo 49 caratteri.
- JOB_IMAGE con un riferimento all'immagine container del job principale, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
. Se vuoi, fornisci le voci di configurazione del contenitore necessarie dopo questa voce. - SIDECAR_IMAGE con un riferimento all'immagine container sidecar. Se vuoi, fornisci le voci di configurazione del container necessarie dopo questa voce.Puoi specificare più sidecar aggiungendo altri elementi all'array
containers
nel file YAML.
Dopo aver aggiornato il file YAML in modo da includere i container Ingress e sidecar, esegui il deployment su Cloud Run utilizzando il comando:
gcloud run jobs replace job.yaml
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungi quanto segue a una risorsagoogle_cloud_run_v2_job
nella configurazione 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"
}
}
}
}
Sostituisci:
- JOB_NAME con il nome del tuo job Cloud Run.
- CONTAINER_NAME con il nome del contenitore.
- IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
- SIDECAR_CONTAINER_NAME con il nome del contenitore sidecar.
- SIDECAR_IMAGE_URL con un riferimento all'immagine del container sidecar.
Funzionalità disponibili per i deployment con i sidecar
Puoi specificare l'ordine di avvio dei container all'interno di un deployment con più container, se hai dipendenze che richiedono l'avvio di alcuni container prima di altri nel deployment.
Se hai container che dipendono da altri container, devi utilizzare i controlli di integrità all'avvio nel deployment. Se utilizzi i controlli di integrità, Cloud Run segue l'ordine di avvio dei container e ispeziona l'integrità di ciascun container, assicurandosi che ognuno superi il controllo prima che Cloud Run avvii il container successivo nell'ordine. Se non utilizzi i controlli di integrità, i container integri verranno avviati anche se i container da cui dipendono non sono in esecuzione.
Più container all'interno di una singola istanza possono accedere a un volume in memoria condiviso, accessibile a ogni container utilizzando i punti di montaggio che crei.
Passaggi successivi
Dopo aver creato o aggiornato un lavoro, puoi:
- Esegui un job
- Esegui un job in base a una pianificazione
- Gestire i lavori
- Gestire le esecuzioni dei job
- Visualizza i log dei job
- Monitorare il rendimento dei job
- Impostare limiti di memoria
- Imposta le variabili di ambiente