Personalize imagens Azure Linux com o Image Customizer

O Image Customizer é uma ferramenta open-source que modifica imagens existentes do Azure Linux para se adaptarem ao seu cenário específico. Utiliza o chroot e dispositivos de bloco em loopback para realizar personalizações sem arrancar uma máquina virtual (VM), o que torna o processo rápido, fiável e fácil de integrar em fluxos de trabalho de CI/CD. Esta é a mesma tecnologia usada para construir as imagens oficiais do Azure Linux. Para a referência completa de configuração e uso avançado, consulte a documentação do Image Customizer.

Note

A integração do Azure Image Builder (AIB) com o Image Customizer ainda não está disponível. Por agora, pode usar o Image Customizer diretamente para personalizar imagens do Azure Linux.

Com o Image Customizer, pode:

  • Adiciona ou remove encomendas.
  • Adicionar ficheiros ou diretórios.
  • Configurar utilizadores e definições do sistema.
  • Aplique layouts de partição personalizados.
  • Produzir imagens de saída em múltiplos formatos.

O Image Customizer também permite personalização encadeada, para que possa personalizar ainda mais uma imagem já personalizada. Para equipas que criam múltiplas imagens, considere criar primeiro uma imagem base personalizada partilhada para reduzir a sobrecarga de manutenção.

Note

O Azure Linux 4.0 encontra-se agora em preview e destina-se exclusivamente a efeitos de avaliação e teste. Não é adequado para uso em produção.

Pré-requisitos

  • Docker instalado no teu host.
  • A imagem base: Qualquer imagem Azure Linux (da Azure Marketplace ou uma que já mantém).
  • Um ficheiro de configuração: Um ficheiro YAML ou JSON que descreve as suas modificações.

Sistemas anfitriões suportados

Pode executar o Personalizador de Imagem em:

  • Azure Linux
  • Ubuntu 22,04

Utilize o Personalizador de Imagem

O Image Customizer é executado num contentor publicado no Microsoft Artifact Registry (MCR).

Lista de etiquetas disponíveis

Liste as etiquetas disponíveis para o contentor Image Customizer com o seguinte comando:

curl -s "https://mcr.microsoft.com/v2/azurelinux/imagecustomizer/tags/list" | jq '.tags[]'

Personalizar uma imagem

Personaliza uma imagem executando o contentor Image Customizer com a tua imagem base e ficheiro de configuração montados no contentor. Por exemplo:

docker run --rm \
    --privileged \
    -v "<shared-dir>:z" \
    -v "/dev:/dev" \
    "mcr.microsoft.com/azurelinux/imagecustomizer:latest" \
    imagecustomizer \
        --image-file <base-image.vhdx> \
        --config-file <config-file.yaml> \
        --output-image-format raw \
        --output-image-file <output-image.raw> \
        --build-dir "/tmp"

Substitua os seguintes valores:

Marcadores de Posição Description
<shared-dir> Caminho absoluto para o diretório que contém a tua imagem base e ficheiro de configuração. A imagem personalizada também está aqui escrita.
<base-image.vhdx> Caminho para o ficheiro de imagem base para modificar.
<config-file.yaml> Caminho para o ficheiro de configuração que descreve as tuas modificações.
<output-image.raw> Caminho para a imagem de saída personalizada.

Para mais informações, consulte a documentação do Image Customizer.