Personalización de imágenes de Linux Azure con el personalizador de imágenes

Image Customizer es una herramienta de código abierto que modifica las imágenes de Linux de Azure existentes para adaptarse a su escenario específico. Usa chroot y dispositivos de bloque de loopback para realizar personalizaciones sin iniciar una máquina virtual (VM), lo que hace que el proceso sea rápido, fiable y fácil de integrar en flujos de trabajo de CI/CD. Esta es la misma tecnología que se usa para crear las imágenes oficiales de Azure Linux. Para obtener la referencia de configuración completa y el uso avanzado, consulte la documentación del personalizador de imágenes.

Note

La integración de Azure Image Builder (AIB) con Image Customizer aún no está disponible. Por ahora, puedes usar Image Customizer directamente para personalizar imágenes de Azure Linux.

Con el personalizador de imágenes, puede hacer lo siguiente:

  • Agregue o quite paquetes.
  • Agregue archivos o directorios.
  • Configure los usuarios y la configuración del sistema.
  • Aplicar diseños de partición personalizados.
  • Generar imágenes de salida en varios formatos.

Image Customizer también admite la personalización anidada, por lo que puede personalizar aún más una imagen ya personalizada. En el caso de los equipos que crean varias imágenes, considere la posibilidad de crear primero una imagen base personalizada compartida para reducir la sobrecarga de mantenimiento.

Note

Azure Linux 4.0 está ahora en preview y está estrictamente limitado a fines de evaluación y pruebas. No es adecuado para su uso en producción.

Prerrequisitos

  • Docker instalado en el host.
  • A imagen base: cualquier imagen de Azure Linux (de la Azure Marketplace o de una que ya mantiene).
  • Un archivo de configuración: un archivo YAML o JSON que describe las modificaciones.

Sistemas host compatibles

Puede ejecutar el personalizador de imágenes en:

  • Azure Linux
  • Ubuntu 22.04

Uso del personalizador de imágenes

Image Customizer se ejecuta como un contenedor publicado en el Microsoft Artifact Registry (MCR).

Enumerar etiquetas disponibles

Enumere las etiquetas disponibles para el contenedor del personalizador de imágenes con el siguiente comando:

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

Personalización de una imagen

Para personalizar una imagen, ejecute el contenedor personalizador de imágenes con la imagen base y el archivo de configuración montados en el contenedor. Por ejemplo:

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"

Reemplace los valores siguientes:

Marcadores de posición Description
<shared-dir> Ruta de acceso absoluta al directorio que contiene la imagen base y el archivo de configuración. La imagen personalizada también se escribe aquí.
<base-image.vhdx> Ruta de acceso al archivo de imagen base que se va a modificar.
<config-file.yaml> Ruta de acceso al archivo de configuración que describe las modificaciones.
<output-image.raw> Ruta de la imagen de salida personalizada.

Para obtener más información, consulte la documentación del personalizador de imágenes.