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 scoprire di più sulle immagini del sistema operativo VM e sulle immagini del sistema operativo VM che puoi utilizzare, consulta Panoramica dell'ambiente del sistema operativo VM.
Prima di iniziare
- Se non hai mai utilizzato Batch, consulta la guida introduttiva all'utilizzo di Batch e attivalo completando i prerequisiti per progetti e utenti.
-
Per ottenere le autorizzazioni necessarie per creare un job, chiedi all'amministratore di concederti seguenti ruoli IAM:
-
Batch Job Editor (
roles/batch.jobsEditor
) nel 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
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
-
Batch Job Editor (
Crea ed esegui un job che utilizza un'immagine del sistema operativo VM specifica
Specifica l'immagine del sistema operativo VM quando crei un job selezionando una delle seguenti metodi:
- Utilizza un modello di istanza Compute Engine che specifica un'immagine del sistema operativo di una 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 istruzioni, vedi Definisci le risorse del job utilizzando un modello di istanza VM.
Utilizza il campo dell'immagine del sistema operativo della VM. Come spiegato nelle seguenti istruzioni, puoi specifica l'immagine del sistema operativo della VM Campo
image
mediante gcloud CLI o l'API Batch.
gcloud
Crea un file JSON che specifichi i dettagli di configurazione del job. Per specificare l'immagine del sistema operativo VM per il job, includi la classe Campo
image
:Ad esempio, per creare un job di script di base che utilizza un sistema operativo VM specifico crea un file JSON con il seguente contenuto:
{ "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 della VM. Utilizza una delle seguenti opzioni:Specifica un prefisso del sistema operativo batch. Per utilizzare la versione più recente di un sistema operativo Batch specifico, utilizza seguente formato:
BATCH_OS_PREFIX
Sostituisci
BATCH_OS_PREFIX
con uno dei prefissi delle immagini del sistema operativo VM batch. Ad esempio,batch-debian
è il prefisso per il sistema operativo Debian batch.Specifica una famiglia di immagini. Per usare l'ultima immagine di un determinato famiglia di immagini, usa il formato seguente:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: il ID progetto del progetto che contiene l'immagine. Ad esempio, per tutte le immagini di 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 vedere tutte le famiglie di immagini del sistema operativo VM Batch. Visualizza un elenco di immagini del sistema operativo VM.
Specifica una versione dell'immagine. Per utilizzare una versione specifica dell'immagine del sistema operativo di una VM, utilizza il seguente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: il ID progetto del progetto che contiene l'immagine. Ad esempio, Immagini batch, specificabatch-custom-image
.IMAGE_NAME
: il nome dell'immagine, che rappresenta una versione specifica di un'immagine del sistema operativo della VM. Ad esempio, per vedere tutte le versioni delle immagini del sistema operativo VM Batch. Visualizza un elenco di immagini del sistema operativo VM.
Per creare il job, esegui questo comando 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
: il località per questo lavoro.JSON_CONFIGURATION_FILE
: il percorso del file JSON con i dettagli di configurazione del job.
API
Per creare un job utilizzando l'API Batch, utilizza
Metodo jobs.create
e specificare i dettagli di configurazione del job.
Per specificare l'immagine del sistema operativo della VM per il job, includi il
campo image
.
Ad esempio, per creare un job di script di base che utilizza un'immagine del sistema operativo VM specifica,
invia 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
: il ID progetto del tuo 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 della VM. Utilizza una delle seguenti opzioni:- Specifica un prefisso del sistema operativo batch. Per utilizzare la versione più recente di un sistema operativo Batch specifico, utilizza seguente formato:
BATCH_OS_PREFIX
Sostituisci
BATCH_OS_PREFIX
con uno dei prefissi delle immagini del sistema operativo VM batch. Ad esempio,batch-debian
è il prefisso per il sistema operativo Debian batch.Specifica una famiglia di immagini. Per utilizzare l'immagine più recente di una famiglia di immagini specifica, utilizza il seguente formato:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: il ID progetto del progetto che contiene l'immagine. Ad esempio, per tutte le immagini di batch, specificabatch-custom-image
.IMAGE_FAMILY
: la famiglia di immagini, che include una o più immagini specifiche e rappresenta il tipo e versione principale del sistema operativo. Ad esempio, per visualizzare tutte le famiglie di immagini del sistema operativo VM da Batch, visualizza un elenco di immagini del sistema operativo VM.
Specifica una versione dell'immagine. per utilizzare una versione specifica del sistema operativo di una VM usa il seguente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Sostituisci quanto segue:
IMAGE_PROJECT_ID
: il ID progetto del progetto che contiene l'immagine. Ad esempio, per tutte le immagini di batch, specificabatch-custom-image
.IMAGE_NAME
: il nome dell'immagine, che rappresenta una versione specifica di un'immagine del sistema operativo della VM. Ad esempio, per visualizzare tutte le versioni delle immagini del sistema operativo VM da Batch, visualizza un elenco di immagini del sistema operativo VM.
Passaggi successivi
- Se hai problemi durante la creazione o l'esecuzione di un job, consulta la sezione Risoluzione dei problemi.
- Scopri di più sulle immagini del sistema operativo VM.
- Scopri di più sulla creazione di un job.
- Scopri come visualizzare job e attività.