Personalize imagens do Azure Linux com o Image Customizer

O Personalizador de Imagem é uma ferramenta de software livre que modifica imagens do Linux Azure existentes para atender ao cenário específico. Ele usa chroot e dispositivos de bloco loopback para executar personalizações sem iniciar uma VM (máquina virtual), tornando o processo rápido, confiável e fácil de integrar aos fluxos de trabalho de CI/CD. Essa é a mesma tecnologia usada para criar as imagens oficiais do Azure Linux. Para obter a referência de configuração completa e o uso avançado, consulte a documentação do Personalizador de Imagem.

Note

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

Com o Personalizador de Imagem, você pode:

  • Adicionar ou remover pacotes.
  • Adicionar arquivos ou diretórios.
  • Defina os usuários e as configurações do sistema.
  • Aplicar layouts de partição personalizados.
  • Produza imagens de saída em vários formatos.

O Personalizador de Imagem também oferece suporte à customização aninhada, permitindo fazer mais personalizações em uma imagem já personalizada. Para equipes que criam várias imagens, considere criar uma imagem base personalizada compartilhada primeiro para reduzir a sobrecarga de manutenção.

Note

Azure Linux 4.0 agora está em preview e está estritamente limitado às finalidades de avaliação e teste. Não é adequado para uso em produção.

Pré-requisitos

  • Docker instalado em seu host.
  • A imagem base: qualquer imagem do Linux Azure (do Azure Marketplace ou de uma que você já mantém).
  • Um arquivo de configuração: um arquivo YAML ou JSON que descreve suas modificações.

Sistemas de host com suporte

Você pode executar o Personalizador de Imagem em:

  • Azure Linux
  • Ubuntu 22.04

Usar o Personalizador de Imagem

O Image Customizer é executado como um contêiner publicado no Microsoft Artifact Registry (MCR).

Listar tags disponíveis

Liste as marcas disponíveis para o contêiner do Personalizador de Imagem com o seguinte comando:

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

Personalizar uma imagem

Personalize uma imagem executando o contêiner do Personalizador de Imagem com a imagem base e o arquivo de configuração montados no contêiner. 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:

Espaços reservados Description
<shared-dir> Caminho absoluto para o diretório que contém a imagem base e o arquivo de configuração. A imagem personalizada também é gravada aqui.
<base-image.vhdx> Caminho para o arquivo de imagem base a ser modificado.
<config-file.yaml> Caminho para o arquivo de configuração que descreve suas modificações.
<output-image.raw> Caminho para a imagem de saída personalizada.

Para obter mais informações, consulte a documentação do Personalizador de Imagem.