Cette page explique comment personnaliser les disques persistants utilisés pour démarrer chaque instance de machine virtuelle (VM) sur laquelle une tâche s'exécute.
Plus précisément, vous pouvez personnaliser la taille, le type et/ou l'image du système d'exploitation (OS) de la VM pour un disque de démarrage. Si vous souhaitez uniquement personnaliser l'image du système d'exploitation de la VM, consultez plutôt Spécifier l'image du système d'exploitation de la VM pour une tâche.
Pour en savoir plus sur les disques de démarrage et quand les configurer, consultez la section Présentation de l'environnement d'OS de VM.
Avant de commencer
- Si vous n'avez jamais utilisé Batch, consultez Premiers pas avec Batch et activez Batch en remplissant les conditions préalables pour les projets et les utilisateurs.
-
Pour obtenir les autorisations nécessaires pour créer un job, demandez à votre administrateur de vous accorder les rôles IAM suivants:
-
Éditeur de tâches par lot (
roles/batch.jobsEditor
) sur le projet -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service de la tâche, qui est par défaut le compte de service Compute Engine par défaut
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
-
Éditeur de tâches par lot (
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 une tâche en sélectionnant l'une des méthodes suivantes:
Utilisez un modèle d'instance Compute Engine qui spécifie un disque de démarrage personnalisé préexistant. Si vous souhaitez utiliser un modèle d'instance de VM lors de la création de cette tâche ou utiliser un disque de démarrage personnalisé préexistant, procédez comme suit:
Créez ou identifiez un disque de démarrage personnalisé.
Pour connaître les exigences concernant le disque de démarrage pour Batch, consultez ce document et la section Présentation de l'environnement d'OS de VM. Pour savoir comment créer un disque de démarrage, consultez la section Créer un disque de démarrage personnalisé dans la documentation Compute Engine.
Créez ou identifiez un modèle d'instance de VM qui inclut ce disque de démarrage personnalisé.
Pour savoir comment créer un modèle d'instance de VM, consultez la section Créer des modèles d'instance dans la documentation Compute Engine.
Créez et exécutez une tâche qui inclut ce modèle d'instance de VM.
Pour savoir comment créer et exécuter la tâche, consultez la section Définir les ressources de tâche à l'aide d'un modèle d'instance de VM.
Utilisez le champ "Disk boot" (Disque de démarrage) pour spécifier un nouveau disque de démarrage personnalisé. Comme indiqué dans les instructions suivantes, vous pouvez définir un nouveau disque de démarrage personnalisé à l'aide du champ "disque de démarrage (
bootDisk
)" lorsque vous créez et exécutez une tâche à l'aide de la gcloud CLI ou de l'API Batch.Plus précisément, vous pouvez personnaliser le disque de démarrage en configurant les sous-champs image de l'OS de la VM (
image
), type de disque persistant (type
) et/ou taille (sizeGb
). Le traitement par lot définit une valeur par défaut pour tous les sous-champs que vous choisissez d'omettre.
gcloud
Créez un fichier JSON qui spécifie les détails de configuration de votre tâche. Pour spécifier un nouveau disque de démarrage personnalisé pour les VM de la tâche, incluez le champ et les sous-champs
bootDisk
.Par exemple, pour créer une tâche de script de base qui utilise un nouveau disque de démarrage personnalisé, créez un fichier JSON contenant 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
: nom de ressource relatif de l'image de l'OS de la VM. Utilisez l'une des options suivantes :Spécifiez un préfixe de système d'exploitation de lot. Pour utiliser la dernière image d'un OS Batch spécifique, utilisez le format suivant:
BATCH_OS_PREFIX
Remplacez
BATCH_OS_PREFIX
par l'un des préfixes d'image d'OS de VM de traitement par lot. Par exemple,batch-debian
est le préfixe de l'OS Debian de traitement par lot.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
: ID du projet contenant l'image. Par exemple, pour toutes les images de lot, spécifiezbatch-custom-image
.IMAGE_FAMILY
: famille d'images, qui comprend une ou plusieurs images spécifiques et représente le type et la version majeure de l'OS. Par exemple, pour afficher toutes les familles d'images de système d'exploitation de VM à partir de Batch, affichez la liste des images de système d'exploitation de VM.
Spécifiez une version d'image. Pour utiliser une version spécifique d'une image d'OS de VM, utilisez le format suivant:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Remplacez les éléments suivants :
IMAGE_PROJECT_ID
: ID du projet contenant l'image. Par exemple, pour toutes les images de lot, spécifiezbatch-custom-image
.IMAGE_NAME
: nom de l'image, qui représente une version spécifique d'une image d'OS de VM. Par exemple, pour afficher toutes les versions d'images d'OS de VM à partir de Batch, affichez une liste d'images d'OS de VM.
BOOT_DISK_TYPE
: type de disque du disque de démarrage,pd-standard
,pd-balanced
,pd-ssd
oupd-extreme
. Le type de disque par défaut pour les disques de démarrage estpd-balanced
.BOOT_DISK_SIZE
: taille du nouveau disque de démarrage persistant en Go. Cette valeur doit respecter toutes les exigences de taille du disque de démarrage.
Pour créer la tâche, exécutez la commande
gcloud batch jobs submit
suivante:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Remplacez les éléments suivants :
JOB_NAME
: nom de cette tâche.LOCATION
: emplacement de cette tâche.JSON_CONFIGURATION_FILE
: chemin d'accès au fichier JSON contenant les détails de configuration de la tâche.
API
Pour créer une tâche à l'aide de l'API Batch, utilisez la méthode jobs.create
et spécifiez les détails de configuration de votre tâche.
Pour spécifier l'image de l'OS de la VM pour la tâche, incluez le champ et les sous-champs bootDisk
.
Par exemple, pour créer une tâche de script de base qui utilise un nouveau disque de démarrage personnalisé, envoyez 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
: nom de ressource relatif de l'image de l'OS de la VM. Utilisez l'une des options suivantes :Spécifiez un préfixe de système d'exploitation de lot. Pour utiliser la dernière image d'un OS Batch spécifique, utilisez le format suivant:
BATCH_OS_PREFIX
Remplacez
BATCH_OS_PREFIX
par l'un des préfixes d'image d'OS de VM de traitement par lot. Par exemple,batch-debian
est le préfixe de l'OS Debian de traitement par lot.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
: ID du projet contenant l'image. Par exemple, pour toutes les images de lot, spécifiezbatch-custom-image
.IMAGE_FAMILY
: famille d'images, qui comprend une ou plusieurs images spécifiques et représente le type et la version majeure de l'OS. Par exemple, pour afficher toutes les familles d'images de système d'exploitation de VM à partir de Batch, affichez la liste des images de système d'exploitation de VM.
Spécifiez une version d'image. Pour utiliser une version spécifique d'une image d'OS de VM, utilisez le format suivant:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Remplacez les éléments suivants :
IMAGE_PROJECT_ID
: ID du projet contenant l'image. Par exemple, pour toutes les images de lot, spécifiezbatch-custom-image
.IMAGE_NAME
: nom de l'image, qui représente une version spécifique d'une image d'OS de VM. Par exemple, pour afficher toutes les versions d'images d'OS de VM à partir de Batch, affichez une liste d'images d'OS de VM.
BOOT_DISK_TYPE
: type de disque du disque de démarrage,pd-standard
,pd-balanced
,pd-ssd
oupd-extreme
. Le type de disque par défaut pour les disques de démarrage estpd-balanced
.BOOT_DISK_SIZE
: taille du nouveau disque de démarrage persistant en Go. Cette valeur doit respecter toutes les exigences de taille du disque de démarrage.
Étape suivante
- Si vous rencontrez des difficultés pour créer ou exécuter une tâche, consultez la section Dépannage.
- En savoir plus sur les disques de démarrage et les images d'OS de VM
- Découvrez comment créer une offre d'emploi.
- Découvrez comment afficher les jobs et les tâches.