Questa pagina descrive come specificare l'immagine del sistema operativo (OS) per le istanze di macchine virtuali (VM) su cui viene eseguito un job. Se vuoi personalizzare anche altre proprietà dei dischi di avvio del job, consulta Creare ed eseguire un job che utilizza dischi di avvio personalizzati.
Per saperne di più sulle immagini VM OS e sulle immagini che puoi utilizzare, consulta Panoramica dell'ambiente VM OS.
Prima di iniziare
- Se non hai mai utilizzato Batch, consulta la Guida introduttiva all'utilizzo di Batch e abilita Batch completando i prerequisiti per progetti e utenti.
-
Per ottenere le autorizzazioni necessarie per creare un job, chiedi all'amministratore di concederti i ruoli IAM seguenti:
-
Editor job batch (
roles/batch.jobsEditor
) nel progetto -
Utente account di servizio (
roles/iam.serviceAccountUser
) nell'account di servizio del job, che per impostazione predefinita è l'account di servizio Compute Engine predefinito
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
Editor job batch (
Crea ed esegui un job che utilizza un'immagine specifica del sistema operativo VM
Specifica l'immagine del sistema operativo della VM quando crei un job selezionando uno dei seguenti metodi:
- Utilizza un modello di istanza Compute Engine che specifichi un'immagine del sistema operativo VM. Se vuoi utilizzare un modello di istanza VM durante la creazione di questo job, devi specificare l'immagine del sistema operativo VM nel modello di istanza VM. Per le istruzioni, consulta Definire le risorse dei job utilizzando un modello di istanza VM.
Utilizza il campo dell'immagine del sistema operativo della VM. Come spiegato nelle seguenti istruzioni, puoi specificare l'immagine del sistema operativo VM nel campo
image
utilizzando gcloud CLI o l'API Batch.
gcloud
Crea un file JSON che specifichi i dettagli di configurazione del job. Per specificare l'immagine VM OS per il job, includi il campo
image
.Ad esempio, per creare un job di script di base che utilizza un'immagine specifica del sistema operativo VM, crea un file JSON con i seguenti contenuti:
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}." } } ] }, "taskCount": 3, "parallelism": 1 } ], "allocationPolicy": { "instances": [ { "policy": { "bootDisk": { "image": "VM_OS_IMAGE_URI" } } } ] }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Sostituisci
VM_OS_IMAGE_URI
con un nome risorsa relativo dell'immagine del sistema operativo VM. Utilizza una delle seguenti opzioni:Specifica un prefisso Batch OS. Per utilizzare l'immagine più recente di uno specifico sistema operativo batch, usa il formato seguente:
BATCH_OS_PREFIX
Sostituisci
BATCH_OS_PREFIX
con uno dei prefissi immagine Batch VM OS, ad esempio,batch-debian
è il prefisso per il sistema operativo Debian Batch.Specifica una famiglia di immagini. Per usare l'ultima immagine di una determinata famiglia di immagini, usa il formato seguente:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: l'ID progetto del progetto che contiene l'immagine. Ad esempio, per tutte le immagini batch, specificabatch-custom-image
.IMAGE_FAMILY
: la famiglia di immagini, che include una o più immagini specifiche e rappresenta il tipo e la versione principale del sistema operativo. Ad esempio, per visualizzare tutte le famiglie di immagini sistema operativo VM da Batch, visualizza un elenco di immagini VM OS.
Specifica una versione dell'immagine. Per utilizzare una versione specifica dell'immagine di un sistema operativo VM, usa il formato seguente:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: l'ID progetto del progetto che contiene l'immagine. Ad esempio, per tutte le immagini batch, specificabatch-custom-image
.IMAGE_NAME
: il nome dell'immagine, che rappresenta una versione specifica di un'immagine del sistema operativo di una VM. Ad esempio, per visualizzare tutte le versioni delle immagini del sistema operativo VM da Batch, visualizza un elenco di immagini di sistema operativo VM.
Per creare il job, esegui questo comando
gcloud batch jobs submit
:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Sostituisci quanto segue:
JOB_NAME
: il nome di questo job.LOCATION
: la località per questo job.JSON_CONFIGURATION_FILE
: il percorso del file JSON con i dettagli di configurazione del job.
API
Per creare un job con l'API Batch, utilizza il metodo jobs.create
e specifica i dettagli di configurazione del job.
Per specificare l'immagine VM OS per il job, includi il campo image
.
Ad esempio, per creare un job di script di base che utilizza un'immagine specifica del sistema operativo VM, effettua la seguente richiesta POST
:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world from task ${BATCH_TASK_INDEX}."
}
}
]
},
"taskCount": 3,
"parallelism": 1
}
],
"allocationPolicy": {
"instances": [
{
"policy": {
"bootDisk": {
"image": "VM_OS_IMAGE_URI"
}
}
}
]
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto.LOCATION
: la località per questo lavoro.JOB_NAME
: il nome di questo job.VM_OS_IMAGE_URI
: un nome risorsa relativo dell'immagine del sistema operativo VM. Utilizza una delle seguenti opzioni:- Specifica un prefisso Batch OS. Per utilizzare l'immagine più recente di uno specifico sistema operativo batch, usa il formato seguente:
BATCH_OS_PREFIX
Sostituisci
BATCH_OS_PREFIX
con uno dei prefissi immagine Batch VM OS, ad esempio,batch-debian
è il prefisso per il sistema operativo Debian Batch.Specifica una famiglia di immagini. Per usare l'ultima immagine di una determinata famiglia di immagini, usa il formato seguente:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: l'ID progetto del progetto che contiene l'immagine. Ad esempio, per tutte le immagini batch, specificabatch-custom-image
.IMAGE_FAMILY
: la famiglia di immagini, che include una o più immagini specifiche e rappresenta il tipo e la versione principale del sistema operativo. Ad esempio, per visualizzare tutte le famiglie di immagini sistema operativo VM da Batch, visualizza un elenco di immagini VM OS.
Specifica una versione dell'immagine. Per utilizzare una versione specifica dell'immagine di un sistema operativo VM, usa il formato seguente:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: l'ID progetto del progetto che contiene l'immagine. Ad esempio, per tutte le immagini batch, specificabatch-custom-image
.IMAGE_NAME
: il nome dell'immagine, che rappresenta una versione specifica di un'immagine del sistema operativo di una VM. Ad esempio, per visualizzare tutte le versioni delle immagini del sistema operativo VM da Batch, visualizza un elenco di immagini di sistema operativo VM.
Passaggi successivi
- In caso di problemi durante la creazione o l'esecuzione di un job, consulta Risoluzione dei problemi.
- Scopri di più sulle immagini sistema operativo VM.
- Scopri di più sulla creazione di un job.
- Scopri come visualizzare job e attività.