Creare ed eseguire 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 le dimensioni, il tipo e/o l'immagine del sistema operativo (OS) della VM per un disco di avvio. Se vuoi personalizzare solo l'immagine sistema operativo della VM, consulta Specificare l'immagine 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 della VM.

Prima di iniziare

  1. Se non hai mai utilizzato Batch, consulta la sezione Guida introduttiva a Batch e attiva Batch completando i prerequisiti per progetti e utenti.
  2. Per ottenere le autorizzazioni necessarie per creare un job, chiedi all'amministratore di concederti i seguenti ruoli IAM:

    Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

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 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 la panoramica dell'ambiente del sistema operativo VM. Per istruzioni su come creare un disco di avvio, consulta Crea 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, vedi Definisci le risorse del job utilizzando un modello di istanza VM.

  • Utilizza il campo del 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.

    In particolare, puoi personalizzare il disco di avvio configurando i campi secondari immagine del sistema operativo della VM (image), tipo di disco permanente (type) e/o dimensioni (sizeGb). Batch imposta un valore predefinito per uno qualsiasi di questi sottocampi 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 bootDisk e i relativi campi secondari.

    Ad esempio, per creare un job di script di base che utilizzi 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: il nome risorsa relativo dell'immagine sistema operativo della VM. Utilizza una delle seguenti opzioni:

      • Specifica un prefisso del sistema operativo batch. Per utilizzare l'ultima immagine di un sistema operativo Batch specifico, utilizza il seguente formato:

        BATCH_OS_PREFIX
        

        Sostituisci BATCH_OS_PREFIX con uno dei prefissi dell'immagine sistema operativo VM Batch, ad esempio batch-debian è il prefisso per il sistema operativo Batch Debian.

      • 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: 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 visualizzare tutte le famiglie di immagini sistema operativo VM da Batch, visualizza un elenco di immagini sistema operativo VM.
      • Specifica una versione dell'immagine. Per utilizzare una versione specifica di un'immagine del sistema operativo VM, utilizza il seguente formato:

        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 visualizzare tutte le versioni dell'immagine sistema operativo VM da Batch, visualizza un elenco di immagini 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 rispettare tutti i requisiti di dimensione del disco di avvio.

  2. Per creare il job, esegui questo gcloud batch jobs submit comando:

    gcloud batch jobs submit JOB_NAME \
        --location LOCATION \
        --config JSON_CONFIGURATION_FILE
    

    Sostituisci quanto segue:

    • JOB_NAME: il nome di questo job.
    • LOCATION: la posizione 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 il metodo jobs.create e specifica i dettagli di configurazione del job. Per specificare l'immagine del sistema operativo della VM per il job, includi il campo bootDisk e i relativi campi secondari. Ad esempio, per creare un job di script di base che utilizza un nuovo disco di avvio personalizzato, esegui 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 sistema operativo della VM. Utilizza una delle seguenti opzioni:

    • Specifica un prefisso del sistema operativo batch. Per utilizzare l'ultima immagine di un sistema operativo Batch specifico, utilizza il seguente formato:

      BATCH_OS_PREFIX
      

      Sostituisci BATCH_OS_PREFIX con uno dei prefissi dell'immagine sistema operativo VM Batch, ad esempio batch-debian è il prefisso per il sistema operativo Batch Debian.

    • 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: 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 visualizzare tutte le famiglie di immagini sistema operativo VM da Batch, visualizza un elenco di immagini sistema operativo VM.
    • Specifica una versione dell'immagine. Per utilizzare una versione specifica di un'immagine del sistema operativo VM, utilizza il seguente formato:

      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 visualizzare tutte le versioni dell'immagine sistema operativo VM da Batch, visualizza un elenco di immagini 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 rispettare tutti i requisiti di dimensione del disco di avvio.

Passaggi successivi