Questa pagina descrive come personalizzare i dischi permanenti utilizzati per avviare ogni istanza di macchina virtuale (VM) su cui viene eseguito un job.
Nello specifico, puoi personalizzare le dimensioni, il tipo e/o l'immagine del sistema operativo della VM per un disco di avvio. Se vuoi personalizzare solo l'immagine del sistema operativo della VM, consulta Specificare l'immagine del sistema operativo della VM per un job.
Per scoprire di più sui dischi di avvio e su quando configurarli, consulta Panoramica dell'ambiente del sistema operativo VM.
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:
-
Batch Job Editor (
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 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 disco di avvio personalizzato
Specifica un disco di avvio personalizzato quando crei un job selezionando uno dei seguenti metodi:
Utilizza un modello di istanza Compute Engine che specifica un disco di avvio personalizzato preesistente. Se vuoi utilizzare un modello di istanza VM durante la creazione di questo job o un disco di avvio personalizzato preesistente, svolgi i seguenti passaggi:
Crea o identifica un disco di avvio personalizzato.
Per i requisiti del disco di avvio per Batch, consulta questo documento e la Panoramica dell'ambiente del sistema operativo VM. Per istruzioni su come creare un disco di avvio, vedi Crea un disco di avvio personalizzato nella documentazione di Compute Engine.
Crea o identifica un modello di istanza VM che includa questo disco di avvio personalizzato.
Per istruzioni su come creare un modello di istanza VM, consulta Creare modelli di istanza nella documentazione di Compute Engine.
Crea ed esegui un job che includa questo modello di istanza VM.
Per istruzioni su come creare ed eseguire il job, consulta Definire le risorse del job utilizzando un modello di istanza VM.
Utilizza il campo Disco di avvio per specificare un nuovo disco di avvio personalizzato. Come spiegato nelle istruzioni riportate di seguito, puoi definire un nuovo disco di avvio personalizzato utilizzando il campo disco di avvio (
bootDisk
) quando crei ed esegui un job utilizzando gcloud CLI o l'API Batch.Nello specifico, puoi personalizzare il disco di avvio configurando i sottocampi immagine del sistema operativo VM (
image
), tipo di disco permanente (type
) e/o dimensioni (sizeGb
). L'opzione Batch imposta un valore predefinito per uno qualsiasi di questi campi secondari che che scegli di omettere.
gcloud
Crea un file JSON che specifichi i dettagli di configurazione del job. Per specificare un nuovo disco di avvio personalizzato per le VM del job, includi il comando
bootDisk
: campo e campi secondari.Ad esempio, per creare un job di script di base che utilizza un nuovo disco di avvio personalizzato, 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", "type": "BOOT_DISK_TYPE", "sizeGb": BOOT_DISK_SIZE } } } ] }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Sostituisci quanto segue:
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 immagine sistema operativo VM batch: per ad esempio,batch-debian
è il prefisso per Batch Debian OS.Specifica una famiglia di immagini. Per usare l'ultima immagine di un per una specifica 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, Immagini 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 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 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, 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 visualizzare tutte le versioni delle immagini del sistema operativo VM da Batch, visualizza un elenco di immagini del sistema operativo VM.
BOOT_DISK_TYPE
: il tipo di disco del disco di avvio,pd-standard
,pd-balanced
,pd-ssd
opd-extreme
. Il tipo di disco predefinito per i dischi di avvio èpd-balanced
.BOOT_DISK_SIZE
: la dimensione del un nuovo disco di avvio permanente in GB. Questo valore deve rispettare tutti i requisiti per le dimensioni del disco di avvio.
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 VM per il job, includi il
campo e i sottocampi bootDisk
.
Ad esempio, per creare un job di script di base che utilizza un nuovo avvio personalizzato
disco, 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",
"type": "BOOT_DISK_TYPE",
"sizeGb": BOOT_DISK_SIZE
}
}
}
]
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Sostituisci quanto segue:
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 l'immagine più recente di un sistema operativo batch specifico, utilizza il seguente formato:
BATCH_OS_PREFIX
Sostituisci
BATCH_OS_PREFIX
con uno dei Prefissi immagine sistema operativo VM batch: per ad esempio,batch-debian
è il prefisso per Batch Debian OS.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 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 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 vedere tutte le versioni delle immagini del sistema operativo VM Batch. Visualizza un elenco di immagini del sistema operativo VM.
BOOT_DISK_TYPE
: il tipo di disco del disco di avvio,pd-standard
,pd-balanced
,pd-ssd
opd-extreme
. Il tipo di disco predefinito per i dischi di avvio èpd-balanced
.BOOT_DISK_SIZE
: la dimensione del un nuovo disco di avvio permanente in GB. Questo valore deve essere conforme a tutti i requisiti relativi alle dimensioni del disco di avvio.
Passaggi successivi
- Se hai problemi a creare o eseguire un job, consulta la sezione Risoluzione dei problemi.
- Scopri di più su dischi di avvio e immagini del sistema operativo VM.
- Scopri di più sulla creazione di un job.
- Scopri come visualizzare job e attività.