Crea ed esegui un job che utilizza dischi di avvio personalizzati

Questa pagina descrive come personalizzare i dischi permanenti utilizzati per avviare ogni istanza di macchina virtuale (VM) su cui viene eseguito un job.

In particolare, puoi personalizzare dimensioni, tipo e/o immagine del sistema operativo VM per un disco di avvio. Se invece vuoi personalizzare solo l'immagine del sistema operativo VM, vedi Specificare l'immagine del sistema operativo VM per un job.

Per scoprire di più sui dischi di avvio e su quando configurarli, consulta Panoramica dell'ambiente VM OS.

Prima di iniziare

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:

  • Usa un modello di istanza Compute Engine che specifichi un disco di avvio personalizzato preesistente. Se vuoi utilizzare un modello di istanza VM durante la creazione di questo job o utilizzare un disco di avvio personalizzato preesistente, completa i seguenti passaggi:

    1. Crea o identifica un disco di avvio personalizzato.

      Per i requisiti del disco di avvio per Batch, consulta questo documento e consulta la panoramica dell'ambiente VM OS. Per istruzioni sulla creazione di un disco di avvio, consulta Creare un disco di avvio personalizzato nella documentazione di Compute Engine.

    2. 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.

    3. Crea ed esegui un job che includa questo modello di istanza VM.

      Per istruzioni su come creare ed eseguire il job, consulta Definisci 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 del disco di avvio (bootDisk) quando crei ed esegui un job utilizzando l'interfaccia a riga di comando gcloud o l'API Batch.

    In particolare, puoi personalizzare il disco di avvio configurando i campi secondari dell'immagine del sistema operativo della VM (image), del tipo di disco permanente (type) e/o della dimensione (sizeGb). L'opzione Batch imposta un valore predefinito per qualsiasi campo secondario che scegli di omettere.

gcloud

  1. 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 campo e i campi secondari bootDisk.

    Ad esempio, per creare un job di script di base che utilizza un nuovo disco di avvio personalizzato, 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",
                  "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, usa il formato seguente:

        BATCH_OS_PREFIX
        

        Sostituisci BATCH_OS_PREFIX con uno dei prefissi delle immagini del sistema operativo delle VM batch, ad esempio batch-debian è il prefisso del sistema operativo Batch Debian.

      • Specifica una famiglia di immagini. Per utilizzare 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, specifica batch-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 in batch, visualizza un elenco di immagini del sistema operativo VM.
      • Specifica una versione dell'immagine. Per utilizzare una versione specifica di un'immagine 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, specifica batch-custom-image.
        • IMAGE_NAME: il nome dell'immagine, che rappresenta una versione specifica di un'immagine del sistema operativo VM. Ad esempio, per vedere tutte le versioni delle immagini del sistema operativo VM in 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 o pd-extreme). Il tipo di disco predefinito per i dischi di avvio è pd-balanced.

    • BOOT_DISK_SIZE: le dimensioni del nuovo disco di avvio permanente in GB. Questo valore deve soddisfare tutti i requisiti relativi alle dimensioni del disco di avvio.

  2. 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 utilizzando l'API Batch, utilizza il metodo jobs.create e specifica i dettagli di configurazione del job. Per specificare l'immagine del sistema operativo VM per il job, includi il campo e i campi secondari bootDisk. Ad esempio, per creare un job di script di base che utilizza un nuovo disco di avvio personalizzato, 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, usa il formato seguente:

      BATCH_OS_PREFIX
      

      Sostituisci BATCH_OS_PREFIX con uno dei prefissi delle immagini del sistema operativo delle VM batch, ad esempio batch-debian è il prefisso del sistema operativo Batch Debian.

    • Specifica una famiglia di immagini. Per utilizzare l'immagine più recente di una famiglia di immagini specifica, 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, specifica batch-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 in batch, visualizza un elenco di immagini del sistema operativo VM.
    • Specifica una versione dell'immagine. Per utilizzare una versione specifica di un'immagine 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, specifica batch-custom-image.
      • IMAGE_NAME: il nome dell'immagine, che rappresenta una versione specifica di un'immagine del sistema operativo VM. Ad esempio, per vedere tutte le versioni delle immagini del sistema operativo VM in 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 o pd-extreme). Il tipo di disco predefinito per i dischi di avvio è pd-balanced.

  • BOOT_DISK_SIZE: le dimensioni del nuovo disco di avvio permanente in GB. Questo valore deve soddisfare tutti i requisiti relativi alle dimensioni del disco di avvio.

Passaggi successivi