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
- Si vous n'avez jamais utilisé Batch auparavant, consultez Premiers pas avec Batch et activez Batch en suivant la les conditions préalables pour les projets et les utilisateurs.
-
Pour obtenir les autorisations nécessaires à la création d'un job, demandez à votre administrateur de vous accorder le rôles IAM suivants:
-
Éditeur de jobs par lot (
roles/batch.jobsEditor
) sur le projet -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service du job, 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 section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
-
Éditeur de jobs 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 un job en en sélectionnant un 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 ce job ou utiliser un 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 de disque de démarrage pour Batch, consultez ce document et consultez la page Présentation de l'environnement de système d'exploitation de VM. Pour savoir comment créer un disque de démarrage, consultez Créer un disque de démarrage personnalisé dans la documentation Compute Engine.
Créez ou identifiez un modèle d'instance de VM incluant ce disque de démarrage personnalisé.
Pour savoir comment créer un modèle d'instance de VM, consultez Créer des modèles d'instances dans la documentation Compute Engine.
Créez et exécutez un job qui inclut ce modèle d'instance de VM.
Pour obtenir des instructions sur la création et l'exécution du job, consultez Définissez les ressources de la tâche à l'aide d'un modèle d'instance de VM.
Utilisez le champ du disque de démarrage pour spécifier un nouveau disque de démarrage personnalisé. Comme l'expliquent les instructions suivantes, vous pouvez définissez un nouveau disque de démarrage personnalisé champ du disque de démarrage (
bootDisk
) lorsque vous créez et exécutez un job à l'aide du gcloud CLI ou l'API Batch.Plus précisément, vous pouvez personnaliser le disque de démarrage en configurant Sous-champs "Image d'OS de la VM" (
image
), "Type de disque persistant" (type
) et/ou "Taille" (sizeGb
). La méthode "Lot" définit une valeur par défaut pour tous les sous-champs qui que vous choisissez d'omettre.
gcloud
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écifiezbatch-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écifiezbatch-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, soitpd-standard
,pd-balanced
,pd-ssd
oupd-extreme
. Type de disque par défaut pour les disques de démarrage estpd-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.
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écifiezbatch-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écifiezbatch-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, soitpd-standard
,pd-balanced
,pd-ssd
oupd-extreme
. Type de disque par défaut pour les disques de démarrage estpd-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
- Si vous rencontrez des problèmes lors de la création ou de l'exécution d'un job, consultez la section Dépannage.
- Apprenez-en plus sur les disques de démarrage et les images d'OS de VM.
- En savoir plus sur la création d'une offre d'emploi
- Découvrez comment afficher les tâches et les tâches.