Skip to main content

Packer

packer

Repositorio para el estudio de Packer

Documentación oficial Repositorio oficial de packer

¿Qué es Packer?

Packer es una herramienta de código abierto que permite crear imágenes de máquinas idénticas para múltiples plataformas desde un único modelo de código fuente. Packer puede crear imágenes doradas para usar en pipelines de imágenes.

  • Binario ligero
  • Alto rendimiento
  • Escrito en Go
  • Simple y eficaz
  • Se ejecuta en todos los principales sistemas operativos
  • Crea imágenes de máquinas para múltiples plataformas en paralelo

Packer no reemplaza la gestión de configuración como Ansible, sino que trabaja en conjunto.

Packer Diagram

¿Qué es una Imagen?

Una imagen de máquina es una unidad estática única que contiene un sistema operativo preconfigurado y software instalado que se utiliza para crear rápidamente nuevas máquinas en ejecución. Los formatos de imagen de máquina cambian para cada plataforma. Algunos ejemplos incluyen AMIs para EC2, archivos VMDK/VMX para VMware, exportaciones OVF para VirtualBox, etc.

Instalación de Packer

Como mencionamos anteriormente, Packer no es más que un binario y posee su propia CLI. Debe estar en el path del sistema para ser encontrado vía terminal, por lo tanto, se debe mover el binario a una carpeta que esté en el path del sistema o agregar la ubicación de instalación al path.

Documentación de instalación de Packer

Por ejemplo, una instalación en Ubuntu:

wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install packer

O puedes descargar el binario directamente del repositorio.

Estudio

1 - Comandos
2 - Modelo
4 - Proyecto
4 - HCP Registry
5 - Variables
6 - Locals y Funciones
7 - Plugins
8 - Build
9 - Ejemplo AWS
10 - Ejemplo Azure