Image Builder est un outil déclaratif de personnalisation d'images de système d'exploitation (OS) qui s'exécute dans votre projet Cloud de Confianceà l'aide de Cloud Build. Il automatise le processus de création, de personnalisation et de validation des images d'OS pour vous aider à vérifier qu'elles démarrent correctement et qu'elles respectent vos exigences de configuration avant de les publier pour les charges de travail de production.
Principaux avantages
En automatisant le cycle de vie des images d'OS personnalisées dansCloud de Confiance, Image Builder vous aide à gérer l'infrastructure et à valider les exigences de configuration. Image Builder fournit les fonctionnalités suivantes pour vos compilations d'images d'OS personnalisées :
- Automatisez la création d'images d'OS : créez et gérez des images d'OS personnalisées à l'aide de recettes YAML déclaratives et de workflows Cloud Build automatisés, sans avoir besoin de scripts personnalisés ni d'outils externes. Comme Image Builder s'exécute dans Cloud Build, vous pouvez utiliser des déclencheurs Cloud Build pour lancer automatiquement des compilations d'images en réponse à des événements de dépôt (tels qu'un tag ou un push Git), configurer des plannings récurrents (par exemple, des compilations hebdomadaires pour les correctifs de sécurité) ou répondre à des messages Pub/Sub (pour déclencher des compilations de manière programmatique à partir de workflows ou de webhook externes).
- Valider les images avant de les publier : vérifiez les images avant de les publier. Les vérifications fournies par Google permettent de valider que les images intermédiaires démarrent, sont compatibles avec le démarrage sécurisé (le cas échéant), chargent les pilotes réseau requis et exécutent un agent invité sain.
- Suivre l'exécution du script : suivez le code qui s'exécute pendant votre pipeline de compilation. Image Builder enregistre automatiquement le hachage SHA-256 cryptographique de vos scripts de personnalisation intégrés dans les journaux de compilation pour maintenir une piste d'audit.
- Ne payez que les ressources utilisées : le service Image Builder est disponible sans frais supplémentaires. Vous n'êtes facturé que pour les ressources de calcul, de stockage et de compilation sous-jacentes consommées lors de l'exécution de vos pipelines.
Fonctionnement d'Image Builder
Image Builder s'exécute dans votre projet Cloud de Confiance à l'aide d'un conteneur d'orchestrateur Cloud Build. Le processus de compilation d'image comprend les phases suivantes :
- Validation et préparation : le conteneur de l'orchestrateur vérifie la syntaxe YAML, s'assure que toutes les API requises sont activées et que les autorisations de sécurité IAM (Identity and Access Management) cibles sont actives.
- Préparation de l'espace de travail et du disque : le conteneur d'orchestration archive le répertoire de l'espace de travail Cloud Build (
/workspace) contenant votre code source et vos configurations dans un fichier tar compressé (.tar.gz), puis importe ce fichier tar dans le bucket workdir Cloud Storage spécifié dans votre configuration de compilation. Le conteneur d'orchestrateur utilise ensuite un système de fichiers de provisionneur de personnalisation compilé de manière statique pour créer une image Compute Engine temporaire, qui définit le disque de données secondaire associé à votre VM de nœud de calcul. - Exécution de la VM de nœud de calcul : le conteneur d'orchestrateur lance une instance de VM de nœud de calcul éphémère en utilisant l'image source spécifiée comme disque de démarrage et associe le disque de données secondaire contenant le provisionneur de personnalisation.
Les propriétés matérielles, le réseau VPC, le sous-réseau et l'attribution d'adresse IP externe (adresse IP publique éphémère ou aucune adresse IP externe) de la VM de nœud de calcul sont déterminés par les paramètres
infrastructureConfigde votre fichierimagebuilder.yaml. - Personnalisation : un script de démarrage monte le disque de données et démarre le provisionneur de personnalisation sur la VM de nœud de calcul. Le provisionneur télécharge l'archive de l'espace de travail et applique les personnalisations que vous avez déclarées, comme l'exécution de scripts shell, la copie de fichiers ou la compilation de pilotes. Il effectue également une passe de nettoyage de sécurité pour supprimer les clés SSH, les ID de machine uniques et les historiques de journaux. L'instance est ensuite arrêtée.
- Validation (test) : le conteneur de l'orchestrateur crée une image OS de test temporaire à partir du disque de démarrage personnalisé et provisionne des VM de test temporaires à l'aide de la configuration réseau et d'infrastructure de votre fichier
imagebuilder.yamlpour exécuter les vérifications de validation définies par le système suivantes :- Vérification du pilote Intel IDPF : vérifie que les instances compatibles chargent le pilote réseau Intel Infrastructure Data Path Function (
idpf) plutôt que des pilotes d'affichage génériques ou de secours. - Vérification de la mise en réseau et de l'agent invité : confirme que le service de l'agent invité est actif, qu'au moins une interface réseau non en boucle est opérationnelle et que les noms sont conformes aux conventions (
eth*ouen*). - Validation du démarrage sécurisé : s'assure que le démarrage sécurisé UEFI est actif et que le système applique la validation du kernel invité.
- Suspendre ou reprendre la validation : suspend la VM de test à l'aide de l'API Compute Engine et vérifie que la connectivité réseau est rétablie après la reprise sans redémarrage du système.
- Vérification du pilote Intel IDPF : vérifie que les instances compatibles chargent le pilote réseau Intel Infrastructure Data Path Function (
- Release : si tous les contrôles de validation sont réussis, le conteneur de l'orchestrateur prépare l'image finale :
- Si Artifact Registry est configuré : le conteneur d'orchestrateur exporte le disque de démarrage personnalisé en tant que fichier tar vers un dépôt générique Artifact Registry et crée l'image Compute Engine de production finale en utilisant l'URI Artifact Registry comme source.
- Si Artifact Registry n'est pas configuré, le conteneur de l'orchestrateur crée l'image Compute Engine directement dans votre projet à l'aide du disque de démarrage personnalisé.
Remarques sur les tarifs et les quotas
Le service Image Builder est disponible sans frais supplémentaires. Toutefois, des frais Cloud de Confiance by S3NS sont facturés pour les ressources standards provisionnées lors des phases de compilation, de test et de publication :
- Compute Engine : frais pour les VM de nœud de calcul, les VM de test et les disques persistants associés.
- Cloud Build : facturation des minutes d'exécution du conteneur de l'orchestrateur.
- Cloud Storage : frais pour les archives d'espace de travail, les exportations de journaux et les composants intermédiaires.
- Artifact Registry : facture le stockage des fichiers tar d'images exportées, si configuré.
- Images personnalisées : frais de stockage des images intermédiaires de test, de débogage et de production.
Pour obtenir des informations détaillées sur les coûts des ressources, consultez la documentation sur les tarifs de Compute Engine, Cloud Build, Cloud Storage, Artifact Registry et du stockage d'images personnalisées.
Exigences en matière de quota
Assurez-vous que votre projet dispose de quotas Compute Engine suffisants pour les processeurs et les disques persistants dans la zone où vous exécutez vos compilations. Un quota insuffisant dans la zone cible entraîne l'échec du pipeline lors du provisionnement de la VM.