Image Builder è uno strumento dichiarativo di personalizzazione delle immagini del sistema operativo che viene eseguito all'interno del tuo progetto Cloud de Confianceutilizzando Cloud Build. Automatizza il processo di creazione, personalizzazione e convalida delle immagini del sistema operativo per verificare che si avvii correttamente e che rispetti i requisiti di configurazione prima di pubblicarle per i carichi di lavoro di produzione.
Vantaggi principali
Automatizzando il ciclo di vita delle immagini del sistema operativo personalizzate all'interno di Cloud de Confiance, Image Builder ti aiuta a gestire l'infrastruttura e a convalidare i requisiti di configurazione. Image Builder fornisce le seguenti funzionalità per le build di immagini del sistema operativo personalizzato:
- Automatizza la creazione di immagini del sistema operativo: crea e gestisci immagini del sistema operativo personalizzate utilizzando ricette YAML dichiarative e flussi di lavoro Cloud Build automatizzati, senza la necessità di script personalizzati o strumenti esterni. Poiché Image Builder viene eseguito in Cloud Build, puoi utilizzare i trigger di Cloud Build per avviare automaticamente le build di immagini in base agli eventi del repository (ad esempio un push o un tag Git), configurare pianificazioni ricorrenti (ad esempio, build settimanali per le patch di sicurezza) o rispondere ai messaggi Pub/Sub (per attivare le build in modo programmatico da flussi di lavoro o webhook esterni).
- Convalida le immagini prima della pubblicazione: verifica le immagini prima di pubblicarle. I controlli forniti da Google verificano che le immagini intermedie si avvino, supportino Secure Boot (se applicabile), carichino i driver di rete richiesti ed eseguano un guest agent integro.
- Traccia l'esecuzione dello script: monitora il codice che viene eseguito durante la pipeline di build. Image Builder registra automaticamente l'hash crittografico SHA-256 degli script di personalizzazione incorporati nei log di build per mantenere una traccia di controllo.
- Paga solo per le risorse utilizzate: il servizio Image Builder è disponibile senza costi aggiuntivi. Sostieni costi solo per le risorse di calcolo, archiviazione e build sottostanti utilizzate durante l'esecuzione delle pipeline.
Come funziona Image Builder
Image Builder viene eseguito all'interno del tuo progetto Cloud de Confiance utilizzando un container orchestratore Cloud Build. Il processo di compilazione dell'immagine è costituito dalle seguenti fasi:
- Convalida e preparazione: il container orchestrator controlla la sintassi YAML e verifica che tutte le API richieste siano abilitate e che le autorizzazioni di sicurezza Identity and Access Management (IAM) di destinazione siano attive.
- Preparazione del workspace e del disco: il container orchestrator archivia la directory del workspace Cloud Build (
/workspace) contenente il codice sorgente e le configurazioni in un file tar compresso (.tar.gz) e carica questo file tar nel bucket workdir Cloud Storage specificato nella configurazione di compilazione. Il contenitore dell'orchestratore utilizza quindi un file system di provisioning della personalizzazione compilato staticamente per creare un'immagine di Compute Engine temporanea, che definisce il disco di dati secondario collegato alla VM worker. - Esecuzione della VM worker: il container orchestratore avvia un'istanza VM worker effimera utilizzando l'immagine di origine specificata come disco di avvio e collega il disco di dati secondario contenente il provisioner di personalizzazione.
Le proprietà hardware, la rete VPC, la subnet e l'assegnazione dell'IP esterno della VM worker, ovvero un IP pubblico effimero o nessun IP esterno, sono determinate dalle impostazioni
infrastructureConfignel fileimagebuilder.yaml. - Personalizzazione: uno script di avvio monta il disco di dati e avvia il provisioner di personalizzazione sulla VM worker. Il provisioner scarica l'archivio del workspace e applica le personalizzazioni dichiarate, ad esempio l'esecuzione di script shell, la copia di file o la compilazione di driver. Esegue anche un passaggio di sanificazione della sicurezza per pulire le chiavi SSH, gli ID macchina univoci e le cronologie dei log. Dopodiché, arresta l'istanza.
- Convalida (test): il container orchestrator crea un'immagine del sistema operativo di test temporanea dal disco di avvio personalizzato e esegue il provisioning di VM di test temporanee utilizzando la configurazione di rete e infrastruttura nel file
imagebuilder.yamlper eseguire i seguenti controlli di convalida definiti dal sistema:- Verifica del driver Intel IDPF: verifica che le istanze supportate
carichino il driver di rete Intel Infrastructure Data Path Function (
idpf) anziché driver di fallback o di visualizzazione generici. - Verifica di Networking e dell'agente guest: conferma che il servizio
agente guest è attivo, che almeno un'interfaccia di rete non loopback è
attiva e che i nomi sono conformi alle convenzioni (
eth*oen*). - Verifica dell'avvio protetto: garantisce che l'avvio protetto UEFI sia attivo e che il sistema applichi la verifica del kernel guest.
- Sospendi o riprendi la verifica: sospende la VM di test utilizzando l'API Compute Engine e verifica che la connettività di rete venga ripristinata dopo la ripresa senza riavvio del sistema.
- Verifica del driver Intel IDPF: verifica che le istanze supportate
carichino il driver di rete Intel Infrastructure Data Path Function (
- Release: se tutti i controlli di convalida vengono superati, il container orchestratore prepara l'immagine finale:
- Se Artifact Registry è configurato: il container orchestratore esporta il disco di avvio personalizzato come file tar in un repository generico di Artifact Registry e crea l'immagine di produzione finale di Compute Engine utilizzando l'URI di Artifact Registry come origine.
- Se Artifact Registry non è configurato: il container orchestrator crea l'immagine Compute Engine direttamente nel tuo progetto utilizzando il disco di avvio personalizzato.
Considerazioni su prezzi e quote
Il servizio Image Builder è disponibile senza costi aggiuntivi. Tuttavia, Cloud de Confiance by S3NS addebiti per le risorse standard di cui è stato eseguito il provisioning durante le fasi di creazione, test e rilascio:
- Compute Engine: addebiti per VM worker, VM di test e dischi permanenti collegati.
- Cloud Build: addebita i minuti di runtime del container dell'orchestratore.
- Cloud Storage: addebiti per archivi dello spazio di lavoro, esportazioni di log e asset intermedi.
- Artifact Registry: addebita i costi per l'archiviazione dei file tar delle immagini esportate, se configurata.
- Immagini personalizzate: addebiti per l'archiviazione di immagini intermedie di test, debug e produzione.
Per informazioni dettagliate sui costi delle risorse, consulta la documentazione sui prezzi di Compute Engine, Cloud Build, Cloud Storage, Artifact Registry e archiviazione di immagini personalizzate.
Requisiti di quota
Assicurati che il tuo progetto disponga di quote sufficienti di CPU Compute Engine e Persistent Disk nella zona in cui esegui le build. Una quota insufficiente nella zona di destinazione causa l'errore della pipeline durante il provisioning della VM.