Specifica l'immagine VM OS per un job

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

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

  1. 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, 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 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, specifica batch-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.
  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 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, 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 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, specifica batch-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