O Image Builder é uma ferramenta declarativa de personalização de imagens do sistema operacional (SO) que é executada no seu projeto Cloud de Confianceusando o Cloud Build. Ele automatiza o processo de criação, personalização e validação de imagens do SO para ajudar a verificar se elas são inicializadas corretamente e seguem seus requisitos de configuração antes de serem publicadas para cargas de trabalho de produção.
Principais vantagens
Ao automatizar o ciclo de vida das imagens de SO personalizadas no Cloud de Confiance, o Image Builder ajuda você a gerenciar a infraestrutura e validar os requisitos de configuração. O Image Builder oferece os seguintes recursos para builds de imagens de SO personalizadas:
- Automatize a criação de imagens do SO: crie e mantenha imagens personalizadas do SO usando receitas declarativas em YAML e fluxos de trabalho automatizados do Cloud Build, sem precisar de scripts personalizados ou ferramentas externas. Como o Image Builder é executado no Cloud Build, é possível usar gatilhos do Cloud Build para iniciar automaticamente builds de imagens em eventos do repositório (como um push ou uma tag do Git), configurar programações recorrentes (por exemplo, builds semanais para patches de segurança) ou responder a mensagens do Pub/Sub (para acionar builds de maneira programática em fluxos de trabalho ou webhooks externos).
- Validar imagens antes de publicar: verifique as imagens antes de publicá-las. As verificações fornecidas pelo Google validam se as imagens intermediárias são inicializadas, se oferecem suporte à inicialização segura (quando aplicável), se carregam os drivers de rede necessários e se executam um agente convidado íntegro.
- Rastrear a execução do script: rastreie o código que é executado durante o pipeline de build. O Image Builder registra automaticamente o hash criptográfico SHA-256 dos seus scripts de personalização inline nos registros de build para manter um rastreamento de auditoria.
- Pague apenas pelos recursos usados: o serviço Image Builder está disponível sem custo adicional. Você só incorre em custos pelos recursos de computação, armazenamento e build consumidos durante a execução dos pipelines.
Como o Image Builder funciona
O Image Builder é executado no seu projeto Cloud de Confiance usando um contêiner orquestrador do Cloud Build. O processo de build de imagens consiste nas seguintes fases:
- Validação e preparação: o contêiner do orquestrador verifica a sintaxe YAML e se todas as APIs necessárias estão ativadas e se as permissões de segurança do IAM de destino estão ativas.
- Preparação do espaço de trabalho e do disco: o contêiner orquestrador arquiva o diretório do espaço de trabalho do Cloud Build (
/workspace) que contém seu código-fonte e configurações em um arquivo tar compactado (.tar.gz) e faz upload desse arquivo tar para o bucket workdir do Cloud Storage especificado na configuração do build. Em seguida, o contêiner do orquestrador usa um sistema de arquivos de provisionador de personalização compilado estaticamente para criar uma imagem temporária do Compute Engine, que define o disco de dados secundário anexado à VM de worker. - Execução da VM de worker: o contêiner orquestrador inicia uma instância de VM de worker efêmera usando a imagem de origem especificada como disco de inicialização e anexa o disco de dados secundário que contém o provisionador de personalização.
As propriedades de hardware, a rede VPC, a sub-rede e a atribuição de IP externo da VM de worker (um IP público efêmero ou nenhum IP externo) são determinadas pelas configurações
infrastructureConfigno arquivoimagebuilder.yaml. - Personalização: um script de inicialização monta o disco de dados e inicia o provisionador de personalização na VM de worker. O provisionador baixa o arquivo do espaço de trabalho e aplica as personalizações declaradas, como executar scripts do shell, copiar arquivos ou compilar drivers. Ele também realiza uma passagem de limpeza de segurança para limpar chaves SSH, IDs de máquinas exclusivas e históricos de registros. Em seguida, ela encerra a instância.
- Validação (teste): o contêiner do orquestrador cria uma imagem temporária do SO de teste
do disco de inicialização personalizado e provisiona VMs de teste temporárias
usando a configuração de rede e infraestrutura no arquivo
imagebuilder.yamlpara executar as seguintes verificações de validação definidas pelo sistema:- Verificação do driver IDPF da Intel: verifica se as instâncias compatíveis
carregam o driver de rede da função de caminho de dados de infraestrutura (
idpf) da Intel em vez de drivers genéricos de exibição ou substitutos. - Verificação de rede e do agente convidado: confirma se o serviço do agente convidado está ativo, se pelo menos uma interface de rede não loopback está ativa e se os nomes estão de acordo com as convenções (
eth*ouen*). - Verificação da Inicialização segura: garante que a Inicialização segura da UEFI esteja ativa e que o sistema aplique a verificação do kernel convidado.
- Suspender ou retomar a verificação: suspende a VM de teste usando a API Compute Engine e verifica se a conectividade de rede é recuperada após a retomada sem uma reinicialização do sistema.
- Verificação do driver IDPF da Intel: verifica se as instâncias compatíveis
carregam o driver de rede da função de caminho de dados de infraestrutura (
- Versão: se todas as verificações de validação forem aprovadas, o contêiner do orquestrador vai preparar a
imagem final:
- Se o Artifact Registry estiver configurado: o contêiner do orquestrador exporta o disco de inicialização personalizado como um arquivo tar para um repositório genérico do Artifact Registry e cria a imagem final de produção do Compute Engine usando o URI do Artifact Registry como origem.
- Se o Artifact Registry não estiver configurado: o contêiner do orquestrador cria a imagem do Compute Engine diretamente no projeto usando o disco de inicialização personalizado.
Considerações sobre preços e cotas
O serviço Image Builder está disponível sem custo extra. No entanto, Cloud de Confiance by S3NS cobranças por recursos padrão provisionados durante as fases de build, teste e lançamento:
- Compute Engine: cobra pelas VMs de trabalho, VMs de teste e discos permanentes anexados.
- Cloud Build: cobra pelos minutos de tempo de execução do contêiner do orquestrador.
- Cloud Storage: cobranças por arquivos do espaço de trabalho, exportações de registros e ativos intermediários.
- Artifact Registry: cobra pelo armazenamento de arquivos tar de imagem exportados, se configurado.
- Imagens personalizadas: cobranças pelo armazenamento de imagens intermediárias de teste, depuração e produção.
Para informações detalhadas sobre os custos de recursos, consulte a documentação de preços do Compute Engine, Cloud Build, Cloud Storage, Artifact Registry e armazenamento de imagens personalizadas.
Requisitos de cota
Verifique se o projeto tem cotas suficientes de CPU do Compute Engine e Persistent Disk na zona em que você executa os builds. A cota insuficiente na zona de destino faz com que o pipeline falhe durante o provisionamento da VM.