Présentation de l'environnement de système d'exploitation pour les VM d'un job

Ce document décrit les concepts de l'environnement de système d'exploitation (disques de démarrage et image de l'OS) pour les instances de machines virtuelles (VM) Compute Engine qui exécutent des tâches par lot.

Une tâche est exécutée 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 système d'exploitation. Vous pouvez éventuellement configurer l'environnement du système d'exploitation de la VM pour une tâche en effectuant l'une des opérations suivantes:

  • Pour ne configurer que 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 de la tâche.

Les sections suivantes décrivent quand configurer l'environnement du système d'exploitation, l'environnement par défaut, les options d'image de l'OS de VM et les options de disque de démarrage.

Quand configurer l'environnement du système d'exploitation

Examinez 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 une tâche ou utilisez la configuration par défaut.

Configurez l'image de l'OS de la VM pour une tâche dans les cas suivants:

  • Si la contrainte de règle "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ègle relative aux images de confiance, consultez Contrôler l'accès aux images d'OS de VM pour Batch.

  • Si vous préférez ne pas utiliser ou ne pouvez pas utiliser l'image de l'OS de VM par défaut pour votre tâche, Par exemple, si les exécutables que vous avez définis pour une tâche nécessitent une application non compatible avec l'image par défaut, vous pouvez peut-être spécifier une autre image publique de l'OS de VM. Si vous souhaitez préinstaller une application requise pour votre tâche afin de réduire l'exécution, vous pouvez également créer et spécifier une image personnalisée.

Configurez le disque de démarrage pour une tâche dans les cas suivants:

  • Si vous préférez ne pas utiliser ou ne pouvez pas utiliser le disque de démarrage par défaut pour votre tâche, Par exemple, si les exécutables ou l'image de l'OS de la VM que vous avez définies pour une tâche 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'une tâche afin d'augmenter sa taille.

Si vous n'êtes toujours pas certain que votre tâche nécessite la configuration de l'image de l'OS de la VM et/ou des 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 la tâche avec la configuration par défaut. Si la tâche é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 suivant les instructions de dépannage.

Sinon, si vous n'avez pas besoin et ne souhaitez pas configurer l'image de l'OS de la VM et/ou le disque de démarrage pour une tâche, ne définissez pas ces propriétés 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 de VM et des disques de démarrage d'une tâche. Par exemple, vous pouvez utiliser la configuration par défaut comme référence pour déterminer la manière dont vous souhaitez configurer l'environnement du système d'exploitation pour une tâche.

Lorsque vous créez une tâche et que vous ne définissez pas l'image du système d'exploitation de la VM, celle-ci utilise par défaut l'une des images de système d'exploitation de VM suivantes:

  • Si la tâche ne peut être exécutée que par des conteneurs, elle utilise la dernière version de l'image Batch Container-Optimized OS (COS).
  • Sinon, le job utilise la dernière version de l'image Batch Debian.

Lorsque vous créez une tâche sans définir les autres propriétés des disques de démarrage, les options suivantes sont utilisées par défaut:

  • Type de disque persistant: le type de disque persistant par défaut est pd-balanced.

  • size: 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 entre 30 Go et 10 000 Go.

    \[{defaultBootDiskSize}={reservationSize}+({taskSize}*{parallelTasksPerVm})\]

    Cette formule comporte les valeurs suivantes:

    • \({réservéSize}\): taille réservée en Go pour le logiciel requis pour la VM, comme l'image de l'OS de la VM. Pour la taille par défaut du disque de démarrage, Batch réserve 10 Go.

    • \({taskSize}\): taille du disque de démarrage pour chaque tâche en Go, déterminée par la conversion des 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 mode 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 des ressources qu'une tâche doit utiliser. Pour connaître l'interface par défaut de chaque type de machine, consultez la section Choisir une interface dans la documentation Compute Engine.

Options de l'image de l'OS de la VM

Les sections suivantes décrivent les options d'images d'OS de VM pour Batch, y compris tous les types d'images d'OS de VM compatibles avec les jobs Batch et les restrictions applicables aux images d'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 n'importe quelle image d'OS de VM compatible avec les restrictions.

Images d'OS de VM compatibles

Les jobs par lot sont compatibles avec les types d'images de système d'exploitation de VM suivants:

  • Images publiques:images fournies et gérées par Google, les communautés Open Source et les fournisseurs tiers. Plus précisément, les jobs Batch peuvent utiliser des images publiques de Batch ou Compute Engine.

    • Images par lot:images fournies et gérées par Batch, stockées dans le projet d'image batch-custom-image et recommandées pour les tâches Batch.

      Les images par lot sont disponibles sur les systèmes d'exploitation suivants. Lorsque vous affichez les familles d'images et les noms d'images à partir de Batch, son système d'exploitation est indiqué par le préfixe correspondant.

      • Batch Debian (préfixe batch-debian) : système d'exploitation basé sur Debian et optimisé pour les tâches Batch. Il s'agit du système d'exploitation par défaut pour les jobs comportant n'importe quel script exécutable.
      • Batch Container-Optimized OS (préfixe batch-cos): un système d'exploitation basé sur Container-Optimized OS de Google Cloud, qui est optimisé pour les jobs par lot avec des conteneurs. Il s'agit du système d'exploitation par défaut pour les tâches n'ayant que des conteneurs exécutables.
      • Batch CentOS (préfixe batch-centos): système d'exploitation basé sur CentOS Linux, optimisé pour les tâches par lot
      • CentOS de calcul hautes performances par lot (HPC) (préfixe batch-hpc-centos) : système d'exploitation basé sur les images HPC CentOS de Google Cloud, optimisé pour les jobs par lot avec des charges de travail HPC.
      • Calcul hautes performances par lot (HPC) Rocky Linux (préfixe batch-hpc-rocky) : système d'exploitation basé sur les images HPC Rocky Linux de Google Cloud, optimisé pour les tâches par lot avec des charges de travail HPC.

      Pour afficher les noms et les familles d'images de Batch spécifiques que vous pouvez spécifier pour une tâche, suivez la procédure permettant d'afficher les images du système d'exploitation de VM à partir 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 à partir des systèmes d'exploitation suivants:

  • Images personnalisées:images que vous créez, possédez et dont vous contrôlez les accès à l'aide de Compute Engine. Pour en savoir plus sur les images personnalisées, consultez la documentation Compute Engine.

Restrictions pour les images d'OS de VM

Les images d'OS de VM compatibles qu'une tâche peut spécifier sont soumises aux restrictions suivantes:

  • Pour les images par lot, la durée de vie de compatibilité garantie de l'image est de 180 jours. La date de début d'une image par lot est indiquée dans le nom de l'image. Par exemple, l'image batch-cos-stable-official-20230719-00-p00 date du 19 juillet 2023 (20230719). Il n'est pas garanti que les images par lot marquées comme obsolètes ne soient pas acceptées.

  • Certaines configurations de tâches nécessitent un accès externe pour l'image. Plus précisément, lorsqu'une tâche 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 tâches qui utilisent des GPU et uniquement des exécutables de conteneurs, seule l'image par défaut (la dernière image Batch Container-Optimized OS) est compatible.
    • Sinon, les jobs ne sont compatibles qu'avec les images par lot.
  • Si la contrainte de règle relative aux images de confiance est activée, vous ne pouvez utiliser aucune image de VM non autorisée par la règle.

    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 d'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 obliger les utilisateurs à créer des VM contenant des logiciels approuvés qui répondent à vos exigences en matière de stratégie ou de sécurité. Pour en savoir plus, consultez Contrôler l'accès aux images d'OS de VM pour Batch.

  • L'image de l'OS de la VM de votre tâche doit disposer des pilotes pour l'interface de ses disques de démarrage et des volumes de stockage de disques persistants installés. La plupart des images publiques installent automatiquement les pilotes NVMe et SCSI, y compris toutes les images par lot.

    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 une tâche spécifie une image de l'OS de VM qui n'est ni une image par lot, ni une image personnalisée basée sur une image par lot, celle-ci installe les packages requis sur les VM de la tâche après leur démarrage. Ces packages requis peuvent varier en fonction des configurations de tâches et changer au fil du temps. Ils sont nécessaires à l'exécution de la tâche par Batch.

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 pour une tâche, 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 VM, consultez plutôt la section Options de l'image d'OS de VM de ce document.

Pour le type de disque de démarrage, Batch est compatible avec tous les types de disques persistants décrits dans la documentation de Compute Engine.

Concernant la taille du disque de démarrage, Batch accepte toutes les tailles et incréments de disques persistants de la documentation Compute Engine qui répondent aux exigences suivantes:

  • Pour les tâches par lot, la taille minimale du disque de démarrage est de 30 Go.

  • Pour qu'une tâche par lot s'exécute correctement, la taille du disque de démarrage doit être suffisamment importante pour allouer l'image de l'OS de la VM du job et les tâches exécutées sur chaque VM. Par exemple, consultez la formule utilisée pour la taille par défaut du disque de démarrage dans ce document.

Étapes suivantes