Créer et exécuter un job qui utilise des disques de démarrage personnalisés

Cette page explique comment personnaliser les disques persistants utilisés pour démarrer chaque une instance de machine virtuelle (VM) sur laquelle un job s'exécute.

Plus précisément, vous pouvez personnaliser la taille, le type Image du système d'exploitation (OS) d'une VM pour un disque de démarrage Si vous souhaitez uniquement personnaliser l'image de l'OS de la VM, Voir Spécifier l'image d'OS de VM pour un job à la place.

Pour en savoir plus sur les disques de démarrage et sur leur configuration, consultez Présentation de l'environnement d'OS de VM

Avant de commencer

Créer et exécuter un job qui utilise un disque de démarrage personnalisé

Spécifiez un disque de démarrage personnalisé lorsque vous créez un job en en sélectionnant un des méthodes suivantes:

gcloud

  1. Créez un fichier JSON qui spécifie les détails de configuration de votre job. Pour spécifier un nouveau disque de démarrage personnalisé pour les VM du job, incluez le paramètre Champ et sous-champs bootDisk.

    Par exemple, pour créer une tâche de script de base qui utilise une nouvelle créez un fichier JSON avec le contenu suivant:

    {
        "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"
      }
    }
    

    Remplacez les éléments suivants :

    • VM_OS_IMAGE_URI: a nom de ressource relatif de l'image d'OS de la VM. Utilisez l'une des options suivantes :

      • Spécifiez un préfixe Batch OS. Pour utiliser la dernière version d'un Batch OS spécifique, utilisez la le format suivant:

        BATCH_OS_PREFIX
        

        Remplacez BATCH_OS_PREFIX par l'un des Préfixes d'image d'OS de VM par lot : exemple, batch-debian est le préfixe le système d'exploitation Batch Debian.

      • Spécifiez une famille d'images. Pour utiliser la dernière image d'une famille d'images spécifique, utilisez le format suivant:

        projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
        

        Remplacez les éléments suivants :

        • IMAGE_PROJECT_ID: le ID du projet du projet qui contient l'image. Par exemple, pour tous les Images par lot, spécifiez batch-custom-image.
        • IMAGE_FAMILY: famille d'images, qui comprend une ou plusieurs images spécifiques et représente le type et version majeure de l'OS. Par exemple, pour afficher toutes les familles d'images de VM Affichez la liste des images d'OS de VM par lot.
      • Spécifiez une version d'image. Pour utiliser une version spécifique d'un système d'exploitation de VM utilisez le format suivant:

        projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
        

        Remplacez les éléments suivants :

        • IMAGE_PROJECT_ID: le ID du projet du projet qui contient l'image. Par exemple, pour tous les Images par lot, spécifiez batch-custom-image.
        • IMAGE_NAME: nom de l'image, représente une version spécifique d'une image d'OS de VM. Par exemple, pour afficher toutes les versions de l'image de l'OS de VM Affichez la liste des images d'OS de VM par lot.
    • BOOT_DISK_TYPE: le type de disque du disque de démarrage, soit pd-standard, pd-balanced, pd-ssd ou pd-extreme. Type de disque par défaut pour les disques de démarrage est pd-balanced.

    • BOOT_DISK_SIZE: taille du disque de démarrage persistant en Go. Cette valeur doit respecter toutes les exigences de taille du disque de démarrage.

  2. Pour créer le job, exécutez la commande suivante : Commande gcloud batch jobs submit:

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

    Remplacez les éléments suivants :

    • JOB_NAME: nom de la tâche.
    • LOCATION: le location de cette tâche.
    • JSON_CONFIGURATION_FILE: chemin d'accès à JSON contenant les détails de la configuration du job.

API

Pour créer un job à l'aide de l'API Batch, utilisez la classe Méthode jobs.create et spécifiez les détails de configuration de votre job. Pour spécifier l'image d'OS de VM pour le job, incluez le paramètre Champ et sous-champs bootDisk. Par exemple, pour créer une tâche de script de base qui utilise une nouvelle exécutez la requête POST suivante:

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"
  }
}

Remplacez les éléments suivants :

  • VM_OS_IMAGE_URI: a nom de ressource relatif de l'image d'OS de la VM. Utilisez l'une des options suivantes :

    • Spécifiez un préfixe Batch OS. Pour utiliser la dernière version d'un Batch OS spécifique, utilisez la le format suivant:

      BATCH_OS_PREFIX
      

      Remplacez BATCH_OS_PREFIX par l'un des Préfixes d'image d'OS de VM par lot : exemple, batch-debian est le préfixe le système d'exploitation Batch Debian.

    • Spécifiez une famille d'images. Pour utiliser la dernière image d'une famille d'images, utilisez le format suivant:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

      Remplacez les éléments suivants :

      • IMAGE_PROJECT_ID: le ID du projet du projet qui contient l'image. Par exemple, pour tous les Images par lot, spécifiez batch-custom-image.
      • IMAGE_FAMILY: famille d'images, qui comprend une ou plusieurs images spécifiques et représente le type et version majeure de l'OS. Par exemple, pour afficher toutes les familles d'images de VM Affichez la liste des images d'OS de VM par lot.
    • Spécifiez une version d'image. Pour utiliser une version spécifique d'un système d'exploitation de VM utilisez le format suivant:

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

      Remplacez les éléments suivants :

      • IMAGE_PROJECT_ID: le ID du projet du projet qui contient l'image. Par exemple, pour tous les Images par lot, spécifiez batch-custom-image.
      • IMAGE_NAME: nom de l'image, représente une version spécifique d'une image d'OS de VM. Par exemple, pour afficher toutes les versions de l'image de l'OS de VM Affichez la liste des images d'OS de VM par lot.
  • BOOT_DISK_TYPE: le type de disque du disque de démarrage, soit pd-standard, pd-balanced, pd-ssd ou pd-extreme. Type de disque par défaut pour les disques de démarrage est pd-balanced.

  • BOOT_DISK_SIZE: taille du disque de démarrage persistant en Go. Cette valeur doit respecter toutes les exigences de taille du disque de démarrage.

Étape suivante