Questo documento spiega come definire le risorse VM per un job batch specificando un Modello di istanza VM di Compute Engine quando crei il job.
I tipi di risorse VM su cui viene eseguito un job
(instances[]
campi secondari) vengono automaticamente
definiti da Batch, a meno che non li definisca utilizzando
uno dei seguenti metodi:
- Utilizza il campo
policy
di definire direttamente le risorse VM di un job, come Crea un job di base. - Utilizza il campo
instanceTemplate
per definire le risorse VM di un job specificando un modello di istanza VM, spiegate in questo documento. Questo metodo è obbligatorio per creare un job che utilizza immagini VM non predefinite.
Prima di iniziare
- Se non hai mai utilizzato Batch, rivedi Inizia a utilizzare Batch e abilita Batch, completando prerequisiti per progetti e utenti.
-
Per ottenere le autorizzazioni necessarie per creare un job, chiedi all'amministratore di concederti seguenti ruoli IAM:
-
Editor job batch (
roles/batch.jobsEditor
) del progetto -
Utente account di servizio (
roles/iam.serviceAccountUser
) sull'account di servizio del job, che per impostazione predefinita è l'account di servizio Compute Engine predefinito -
Crea un job da un modello di istanza VM di Compute Engine:
Visualizzatore Compute (
roles/compute.viewer
) sul modello di istanza VM
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
-
Editor job batch (
Crea un job utilizzando un modello di istanza VM di Compute Engine
Questa sezione fornisce esempi su come creare un job di script di base da un modello di istanza VM esistente. Puoi creare un job da un modello di istanza VM utilizzando gcloud CLI, API Batch, Go, Java Node.js, Python o C++.
gcloud
Per creare un job da un modello di istanza VM utilizzando
gcloud CLI, utilizza il comando gcloud batch jobs submit
e specificare il modello di istanza VM
nel file di configurazione JSON del job.
Ad esempio, per creare un job di script di base da un modello di istanza VM:
Crea un file JSON nella directory corrente denominata
hello-world-instance-template.json
con i seguenti contenuti:{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks." } } ], "computeResource": { "cpuMilli": 2000, "memoryMib": 16 }, "maxRetryCount": 2, "maxRunDuration": "3600s" }, "taskCount": 4, "parallelism": 2 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "instanceTemplate": "INSTANCE_TEMPLATE_NAME" } ] }, "labels": { "department": "finance", "env": "testing" }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Sostituisci quanto segue:
INSTALL_GPU_DRIVERS
: facoltativo. Se impostato sutrue
, la funzionalità Batch recupera i driver necessari per Tipo di GPU specificato nell'istanza VM di Compute Engine e Batch le installa per tuo conto. Per ulteriori informazioni, scopri come crea un job che utilizza una GPU.INSTANCE_TEMPLATE_NAME
: il nome di un elemento esistente modello di istanza VM di Compute Engine. Scopri come creazione e elencare i modelli di istanza.
Esegui questo comando:
gcloud batch jobs submit example-template-job \ --location us-central1 \ --config hello-world-instance-template.json
API
Per creare un job di base utilizzando l'API Batch, utilizza la classe
Metodo jobs.create
e specificare un modello di istanza VM nel campo allocationPolicy
.
Ad esempio, per creare job di script di base da un modello di istanza VM, utilizza la seguente richiesta:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/jobs?job_id=example-script-job
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks."
}
}
],
"computeResource": {
"cpuMilli": 2000,
"memoryMib": 16
},
"maxRetryCount": 2,
"maxRunDuration": "3600s"
},
"taskCount": 4,
"parallelism": 2
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"instanceTemplate": "INSTANCE_TEMPLATE_NAME"
}
]
},
"labels": {
"department": "finance",
"env": "testing"
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Sostituisci quanto segue:
PROJECT_ID
: il valore ID progetto del tuo progetto.INSTALL_GPU_DRIVERS
: facoltativo. Se impostato sutrue
, la modalità Batch recupera i driver necessari per la GPU specificato nel modello di istanza VM di Compute Engine, e Batch le installa per tuo conto. Per maggiori informazioni informazioni, scopri come creare un job che utilizza una GPU.INSTANCE_TEMPLATE_NAME
: il nome di un di un'istanza VM di Compute Engine esistente. Scopri come create e elencare i modelli di istanza.
Vai
Go
Per ulteriori informazioni, consulta API Go Batch documentazione di riferimento.
Per eseguire l'autenticazione in modalità batch, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Java
Per ulteriori informazioni, consulta API Java Batch documentazione di riferimento.
Per eseguire l'autenticazione in modalità batch, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Node.js
Per ulteriori informazioni, consulta API Node.js Batch documentazione di riferimento.
Per eseguire l'autenticazione in modalità batch, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Python
Per ulteriori informazioni, consulta API Python Batch documentazione di riferimento.
Per eseguire l'autenticazione in modalità batch, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C++
C++
Per ulteriori informazioni, consulta API C++ Batch documentazione di riferimento.
Per eseguire l'autenticazione in modalità batch, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Se hai problemi durante la creazione o l'esecuzione di un job, consulta la sezione Risoluzione dei problemi.
- Visualizza lavori e attività.
- Scopri di più sulle opzioni per la creazione di offerte di lavoro.