Pular para o conteúdo principal

Packer

packer

Repositório para estudo do Packer

Documentação oficial Repositório oficial do packer

O que é Packer?

O Packer é uma ferramenta de código aberto que permite criar imagens de máquinas idênticas para várias plataformas a partir de um único modelo de código-fonte. O Packer pode criar imagens douradas para usar em pipelines de imagem.

  • Binário leve
  • Alto desempenho
  • Escrito em go
  • Simples e eficaz
  • roda em todos os principais sistemas operacionais
  • Cria imagens de máquina para várias plataformas em paralelo.

O packer não substitui o gerenciamento de configuração como Ansible, mas trabalha em conjunto.

Packer Diagram

O que é uma Imagem?

Uma imagem de máquina é uma unidade estática única que contém um sistema operacional pré-configurado e um software instalado que é usado para criar rapidamente novas máquinas em execução. Os formatos de imagem de máquina mudam para cada plataforma. Alguns exemplos incluem AMIs para EC2, arquivos VMDK/VMX para VMware, exportações OVF para VirtualBox, etc.

Instalação do Packer

Como mencionamos anteriormente o packer nada mais é que um binário e possuí sua própria cli. Precisa estar no path do sistema para ser encontrado via terminal, logo, deve-se mover o binário para uma pasta que esteja no path do sistema ou adicionar o local de instalação no path.

Packer Installation Documentation

Por exemplo uma instalação no 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

Ou pode baixar o binário direto do repositório.

Estudo

1 - Comandos
2 - Modelo
4 - Projeto
4 - HCP Registry
5 - Variáveis.md
6 - Locals e Functions
7 - Plugins
8 - Build
9 - Exemplo AWS
10 - Exemplo Azure