Image Builder es una herramienta declarativa de personalización de imágenes del sistema operativo (SO) que se ejecuta dentro de tu proyecto Cloud de Confiancecon Cloud Build. Automatiza el proceso de compilación, personalización y validación de imágenes del SO para ayudarte a verificar que se inicien correctamente y cumplan con tus requisitos de configuración antes de que las publiques para cargas de trabajo de producción.
Ventajas clave
Al automatizar el ciclo de vida de las imágenes de SO personalizadas dentro deCloud de Confiance, Image Builder te ayuda a administrar la infraestructura y validar los requisitos de configuración. Image Builder proporciona las siguientes funciones para tus compilaciones de imágenes de SO personalizadas:
- Automatiza la creación de imagen de SO SO: Crea y mantén imágenes del SO personalizadas con recetas declarativas en YAML y flujos de trabajo automatizados de Cloud Build, sin necesidad de secuencias de comandos personalizadas ni herramientas externas. Como Image Builder se ejecuta dentro de Cloud Build, puedes usar activadores de Cloud Build para iniciar automáticamente compilaciones de imágenes en eventos de repositorios (como una confirmación o una etiqueta de Git), configurar programaciones recurrentes (por ejemplo, compilaciones semanales para parches de seguridad) o responder a mensajes de Pub/Sub (para activar compilaciones de forma programática desde flujos de trabajo externos o webhooks).
- Valida las imágenes antes de publicarlas: Verifica las imágenes antes de publicarlas. Las verificaciones proporcionadas por Google validan que las imágenes intermedias se inicien, admitan el inicio seguro (cuando corresponda), carguen los controladores de red necesarios y ejecuten un agente invitado en buen estado.
- Seguimiento de la ejecución de la secuencia de comandos: Realiza un seguimiento del código que se ejecuta durante la canalización de compilación. Image Builder registra automáticamente el hash criptográfico SHA-256 de tus secuencias de comandos de personalización intercaladas dentro de los registros de compilación para mantener un registro de auditoría.
- Paga solo por los recursos que usas: El servicio de Image Builder está disponible sin cargo adicional. Solo incurres en costos por los recursos subyacentes de procesamiento, almacenamiento y compilación que se consumen mientras se ejecutan tus canalizaciones.
Cómo funciona Image Builder
Image Builder se ejecuta dentro de tu proyecto Cloud de Confiance con un contenedor de orquestador de Cloud Build. El proceso de compilación de imágenes consta de las siguientes fases:
- Validación y preparación: El contenedor del orquestador verifica la sintaxis de YAML y comprueba que todas las APIs requeridas estén habilitadas y que los permisos de seguridad de Identity and Access Management (IAM) de destino estén activos.
- Preparación del espacio de trabajo y el disco: El contenedor del orquestador archiva el directorio del espacio de trabajo de Cloud Build (
/workspace) que contiene tu código fuente y tus configuraciones en un archivo tar comprimido (.tar.gz) y sube este archivo tar al bucket de workdir de Cloud Storage especificado en tu configuración de compilación. Luego, el contenedor del orquestador usa un sistema de archivos de aprovisionamiento de personalización compilado de forma estática para crear una imagen temporal de Compute Engine, que define el disco de datos secundario conectado a tu VM de trabajador. - Ejecución de la VM de trabajador: El contenedor del orquestador inicia una instancia de VM de trabajador efímera con la imagen de origen especificada como disco de arranque y conecta el disco de datos secundario que contiene el aprovisionador de personalización.
Las propiedades de hardware, la red de VPC, la subred y la asignación de IP externa de la VM de trabajador (ya sea una IP pública efímera o ninguna IP externa) se determinan según la configuración de
infrastructureConfigen tu archivoimagebuilder.yaml. - Personalización: Una secuencia de comandos de inicio activa el disco de datos y, luego, inicia el aprovisionador de personalización en la VM de trabajador. El aprovisionador descarga el archivo del espacio de trabajo y aplica las personalizaciones declaradas, como ejecutar secuencias de comandos de shell, copiar archivos o compilar controladores. También realiza un paso de limpieza de seguridad para borrar las claves SSH, los IDs únicos de la máquina y los historiales de registros. Luego, se cierra la instancia.
- Validación (pruebas): El contenedor del orquestador crea una imagen de SO de prueba temporal a partir del disco de arranque personalizado y aprovisiona VMs de prueba temporales con la configuración de red y de infraestructura de tu archivo
imagebuilder.yamlpara ejecutar las siguientes verificaciones de validación definidas por el sistema:- Verificación del controlador IDPF de Intel: Verifica que las instancias compatibles carguen el controlador de red de la función de ruta de datos de infraestructura (
idpf) de Intel en lugar de controladores genéricos de pantalla o de resguardo. - Verificación de redes y del agente invitado: Confirma que el servicio del agente invitado esté activo, que haya al menos una interfaz de red que no sea de bucle invertido y que los nombres cumplan con las convenciones (
eth*oen*). - Verificación del arranque seguro: Garantiza que el arranque seguro de UEFI esté activo y que el sistema aplique la verificación del kernel invitado.
- Suspender o reanudar la verificación: Suspende la VM de prueba con la API de Compute Engine y verifica que se recupere la conectividad de red después de la reanudación sin reiniciar el sistema.
- Verificación del controlador IDPF de Intel: Verifica que las instancias compatibles carguen el controlador de red de la función de ruta de datos de infraestructura (
- Versión: Si se aprueban todas las verificaciones de validación, el contenedor del orquestador prepara la imagen final:
- Si Artifact Registry está configurado, el contenedor del orquestador exporta el disco de arranque personalizado como un archivo tar a un repositorio genérico de Artifact Registry y crea la imagen final de producción de Compute Engine con el URI de Artifact Registry como fuente.
- Si Artifact Registry no está configurado, el contenedor del orquestador crea la imagen de Compute Engine directamente en tu proyecto con el disco de arranque personalizado.
Consideraciones sobre precios y cuotas
El servicio de Image Builder está disponible sin costo adicional. Sin embargo, Cloud de Confiance by S3NS se aplican cargos por los recursos estándar aprovisionados durante las fases de compilación, prueba y lanzamiento:
- Compute Engine: Se cobran las VMs de trabajador, las VMs de prueba y los discos persistentes conectados.
- Cloud Build: Cobra por los minutos de tiempo de ejecución del contenedor del orquestador.
- Cloud Storage: Se cobran cargos por los archivos de espacios de trabajo, las exportaciones de registros y los recursos intermedios.
- Artifact Registry: Cobra por el almacenamiento de archivos .tar de imágenes exportadas, si se configura.
- Imágenes personalizadas: Se cobran cargos por el almacenamiento de imágenes intermedias de prueba, depuración y producción.
Para obtener información detallada sobre los costos de los recursos, consulta la documentación de precios de Compute Engine, Cloud Build, Cloud Storage, Artifact Registry y el almacenamiento de imágenes personalizadas.
Requisitos de cuota
Asegúrate de que tu proyecto tenga suficientes cuotas de CPU de Compute Engine y de Persistent Disk en la zona en la que ejecutas tus compilaciones. La cuota insuficiente en la zona de destino hace que la canalización falle durante el aprovisionamiento de la VM.