Ce document explique les concepts de l'environnement du système d'exploitation (OS) (les disques de démarrage et l'image de l'OS) pour les instances de machines virtuelles (VM) Compute Engine qui exécutent des jobs par lot.
Un job est exécuté en exécutant les instructions sur le disque de démarrage de chacune de ses VM. Chaque disque de démarrage contient un bootloader, un système de fichiers et un OS. Vous pouvez éventuellement configurer l'environnement de l'OS de la VM pour une tâche en effectuant l'une des opérations suivantes :
- Pour configurer uniquement le logiciel sur les disques de démarrage, spécifiez l'image de l'OS de la VM du job.
- Pour configurer les propriétés du disque de démarrage, y compris l'image de l'OS de la VM, la taille du disque et/ou le type de disque, personnalisez les disques de démarrage du job.
Les sections suivantes décrivent quand configurer l'environnement d'OS, l'environnement d'OS par défaut, les options d'image de l'OS de VM et les options de disque de démarrage.
Quand configurer l'environnement de l'OS
Consultez cette section pour déterminer si vous devez configurer l'image de l'OS de la VM et/ou les disques de démarrage lorsque vous créez un job ou utilisez la configuration par défaut.
Configurez l'image de l'OS de la VM pour un job dans les cas suivants :
Si la contrainte de règle d'images de confiance (
compute.trustedImageProjects) vous empêche de créer un job avec l'image de l'OS de VM par défaut.Pour en savoir plus sur la contrainte de règlement relatif aux images de confiance, consultez Contrôler l'accès aux images de l'OS de VM pour Batch.
Si vous préférez ne pas utiliser l'image de l'OS de VM par défaut pour votre job, ou si vous ne pouvez pas le faire. Par exemple, si les exécutables que vous avez définis pour un job nécessitent une application qui n'est pas compatible avec l'image par défaut, vous pouvez spécifier une autre image d'OS de VM publique. Si vous souhaitez préinstaller une application requise pour votre job afin de réduire l'environnement d'exécution, vous pouvez créer et spécifier une image personnalisée.
Configurez le disque de démarrage d'un job dans les cas suivants :
- Si vous préférez ne pas utiliser le disque de démarrage par défaut pour votre job ou si vous ne pouvez pas le faire. Par exemple, si les exécutables ou l'image de l'OS de la VM que vous avez définis pour un job nécessitent un espace de stockage supplémentaire sur le disque de démarrage, vous devrez peut-être personnaliser le disque de démarrage d'un job pour augmenter sa taille.
Si vous ne savez toujours pas si votre job nécessite de configurer l'image de l'OS de la VM et/ou les disques de démarrage, vous pouvez consulter la section suivante pour comprendre la configuration par défaut. Vous pouvez également essayer de créer et d'exécuter le job avec la configuration par défaut. Si le job échoue avec la configuration par défaut, vous pouvez essayer de déterminer si le problème est dû à l'image de l'OS de la VM ou au disque de démarrage en effectuant un dépannage.
Sinon, si vous n'avez pas besoin de configurer l'image de l'OS de la VM et/ou le disque de démarrage d'un job, laissez ces propriétés non définies pour utiliser la configuration par défaut.
Environnement d'OS par défaut
Consultez cette section pour comprendre la configuration par défaut de l'image de l'OS et des disques de démarrage de la VM d'un job. Par exemple, vous pouvez utiliser la configuration par défaut comme référence pour déterminer comment configurer l'environnement d'OS pour un job.
Lorsque vous créez une tâche et que vous ne définissez pas l'image de l'OS de la VM, la tâche utilise par défaut l'une des images d'OS de VM suivantes :
- Si le job ne comporte que des exécutables de conteneur, il utilise la dernière version de l'image Container-Optimized OS (COS) Batch.
- Sinon, la tâche utilise la dernière version de l'image Debian Batch.
Lorsque vous créez un job et que vous ne définissez pas les autres propriétés des disques de démarrage, le job utilise par défaut les options suivantes :
Type de disque : type d'Hyperdisk ou type de disque persistant du disque de démarrage. Le type de disque par défaut pour les disques de démarrage est généralement
pd-balanceds'il est compatible avec le type de machine, ouhyperdisk-balanced. Pour connaître les types de disques compatibles avec chaque type de machine, consultez Comparaison des types de machines dans la documentation Compute Engine. Pour en savoir plus sur le choix d'un type de disque de démarrage, consultez la section Options de disque de démarrage de ce document.Taille : la taille par défaut du disque de démarrage de chaque VM est déterminée par la formule suivante pour \({defaultBootDiskSize}\). De plus, la taille par défaut est arrondie pour être d'au moins 30 Go et d'au plus 10 000 Go.
\[{defaultBootDiskSize}={reservedSize}+({taskSize}*{parallelTasksPerVm})\]
Cette formule comporte les valeurs suivantes :
\({reservedSize}\) : taille réservée en Go pour les logiciels requis pour la VM, tels que l'image de l'OS de la VM. Pour la taille de disque de démarrage par défaut, Batch réserve 10 Go.
\({taskSize}\) : taille du disque de démarrage pour chaque tâche en Go, déterminée en convertissant les unités du champ "Taille du disque de démarrage par tâche" (
bootDiskMib).\({parallelTasksPerVM}\) : nombre maximal de tâches pouvant s'exécuter simultanément sur une VM. Pour en savoir plus, consultez la formule de \({parallelTasksPerVM}\).
interface : l'interface est automatiquement sélectionnée en tant que NVMe ou SCSI en fonction du type de machine des VM de votre tâche. Vous pouvez éventuellement spécifier un type de machine lorsque vous définissez le type de ressources à utiliser pour un job. Pour connaître l'interface par défaut de chaque type de machine, consultez Types d'interfaces de stockage dans la documentation Compute Engine.
Options d'image de l'OS de VM
Les sections suivantes décrivent les options d'image de l'OS de VM pour Batch, y compris tous les types d'images de l'OS de VM que les jobs par lot Batch peuvent accepter et les restrictions pour les images de l'OS de VM compatibles. Lorsque vous spécifiez l'image de l'OS de VM pour une tâche, vous pouvez spécifier un nom d'image ou une famille d'images pour l'une des images de l'OS de VM compatibles autorisées par les restrictions.
Images d'OS de VM compatibles
Les jobs par lot peuvent prendre en charge les types d'images de l'OS de VM suivants :
Images publiques : images fournies et gérées par Google, par des communautés Open Source et par des fournisseurs tiers. Plus précisément, les jobs par lot peuvent utiliser des images publiques de Batch ou de Compute Engine.
Images Batch : images fournies et gérées par Batch en fonction des OS Compute Engine, stockées dans le projet d'image
batch-custom-imageet recommandées pour les jobs Batch.Les images Batch sont disponibles dans les OS suivants. Lorsque vous affichez les familles d'images et les noms d'images à partir de Batch, l'OS est indiqué par le préfixe correspondant.
Batch Debian (préfixe
batch-debian) : un OS basé sur les images Debian de Compute Engine, optimisé pour les jobs par lot Batch. Cet OS est utilisé par défaut pour les jobs comportant des exécutables de script.Batch Container-Optimized OS (préfixe
batch-cos) : OS basé sur les images Container-Optimized OS de Compute Engine, optimisé pour les jobs par lot avec des conteneurs. Cet OS est l'OS par défaut pour les jobs ne contenant que des exécutables de conteneur.Batch High-Performance Computing (HPC) Rocky Linux (préfixe
batch-hpc-rocky) : OS basé sur les images HPC Rocky Linux de Compute Engine, optimisé pour les jobs par lot avec des charges de travail HPC.
Pour afficher les noms et familles d'images spécifiques de Batch que vous pouvez spécifier pour un job, suivez la procédure pour afficher les images d'OS de VM de Batch.
Images Compute Engine : images publiques disponibles sur Compute Engine, décrites sur la page Détails des systèmes d'exploitation de la documentation Compute Engine.
Batch n'est compatible qu'avec les images Compute Engine en disponibilité générale des OS suivants :
Images personnalisées : images que vous créez, possédez et dont vous contrôlez l'accès à l'aide de Compute Engine. Pour en savoir plus sur les images personnalisées, consultez la documentation Compute Engine.
Restrictions applicables aux images d'OS de VM
Les images de l'OS de VM compatibles qu'un job peut spécifier sont soumises aux restrictions suivantes :
Les images de lot marquées comme obsolètes peuvent ne pas être compatibles. La durée de vie minimale acceptée pour les images Batch est la plus ancienne des dates suivantes :
- 60 jours après la date de début de l'image. La date de début d'une image Batch est indiquée dans le nom de l'image. Par exemple, l'image
batch-cos-stable-official-20230719-00-p00date du 19 juillet 2023 (20230719). - Date à laquelle la version de l'OS Compute Engine de base est obsolète. La date d'abandon de chaque version d'OS Compute Engine est indiquée sur la page Détails des systèmes d'exploitation de la documentation Compute Engine.
- 60 jours après la date de début de l'image. La date de début d'une image Batch est indiquée dans le nom de l'image. Par exemple, l'image
Certaines configurations de job nécessitent un accès externe pour l'image. Plus précisément, lorsqu'un job ne dispose pas d'un accès externe et n'autorise pas l'accès via Cloud NAT ou l'accès privé à Google, seules les images suivantes sont compatibles :
- Pour les jobs qui utilisent un ou plusieurs GPU et uniquement des éléments exécutables de conteneur, seule l'image par défaut (la dernière image Container-Optimized OS Batch) est compatible.
- Sinon, les jobs ne sont compatibles qu'avec les images Batch.
Si la contrainte de règlement relatif aux images de confiance est activée, vous ne pouvez utiliser aucune image de l'OS de VM que le règlement relatif aux images de confiance n'autorise pas.
Un administrateur de votre projet, dossier ou organisation peut éventuellement configurer la contrainte de règle relative aux images de confiance pour limiter les images de l'OS de VM pouvant être utilisées pour créer des disques de démarrage. Par exemple, la contrainte de règle relative aux images de confiance peut être utilisée pour exiger que les utilisateurs créent des VM contenant des logiciels approuvés qui répondent à vos exigences en matière de règles ou de sécurité. Pour en savoir plus, consultez Contrôler l'accès aux images de l'OS de VM pour Batch.
L'image de l'OS de la VM pour votre job doit disposer des pilotes pour l'interface de ses disques de démarrage et de tous les volumes de stockage sur disque persistant installés. La plupart des images publiques installent automatiquement les pilotes NVMe et SCSI, y compris toutes les images Batch.
Vous ne pouvez pas configurer l'interface des disques persistants. Par conséquent, l'image de l'OS de la VM nécessite les pilotes de l'interface par défaut.
Si un job spécifie une image d'OS de VM qui n'est ni une image Batch, ni une image personnalisée basée sur une image Batch, Batch installe les packages requis sur les VM du job après leur démarrage. Ces packages requis peuvent varier en fonction des configurations de tâche et évoluer au fil du temps. Ils sont nécessaires pour que Batch exécute la tâche.
Options du disque de démarrage
Cette section décrit les options de type et de taille des disques de démarrage pour Batch. Lorsque vous personnalisez les disques de démarrage d'un job, vous pouvez spécifier l'image, le type et/ou la taille de l'OS de la VM. Pour en savoir plus sur la spécification de l'image de l'OS de la VM, consultez plutôt Options d'image de l'OS de la VM dans ce document.
Pour le type de disque de démarrage, nous vous recommandons de sélectionner une option comme suit. Vous devez sélectionner un type de disque compatible avec votre type de machine.
- Si cette fonctionnalité est prise en charge, utilisez
hyperdisk-balanced. - Sinon, utilisez
pd-standardpour réduire les coûts oupd-balancedpour garantir des performances constantes.
Pour en savoir plus sur les types de disques, consultez Choisir un type de disque dans la documentation Compute Engine.
Pour la taille du disque de démarrage, Batch accepte toutes les tailles et tous les incréments de disques persistants de la documentation Compute Engine qui répondent aux exigences suivantes :
Pour les jobs par lot, la taille minimale du disque de démarrage est de 30 Go.
Pour qu'un job par lot s'exécute correctement, la taille du disque de démarrage doit être suffisante pour allouer l'image de l'OS de la VM du job et les tâches qui s'exécutent sur chaque VM. Par exemple, consultez la formule pour la taille du disque de démarrage par défaut dans ce document.
Étapes suivantes
- En savoir plus sur l'environnement d'OS d'un job :
- Pour créer un job qui utilise l'environnement d'OS par défaut, consultez Créer et exécuter un job de base.