Usa o Proxmox na sua infra? Então bora criar um template do ubuntu usando o packer?
Primeiro faça um clone do repositório:
git clone https://github.com/bluesball/Packer.git
Acesse seu servidor proxmox e crie um token de autenticação para um usuário que tenha permissão de manipular os recursos necessários para criar uma VM. Para facilitar o teste voce pode usar o root.
Selecione Datacenter e clique em Permissions > API Tokens > Add
Salve o token secret pois ele irá aparecer apenas uma vez. É possivel gerar outro caso precise.
Verifique qual node irá usar para criar o template, é preciso informar o nome dele no arquivo proxmox.pkr.hcl
Baixe a imagem do sistema operacional no storage local ou ceph destinado a isso.
Adaptando o que for preciso para seu cenário
vars.pkr.hcl
É preciso fazer algumas alterações:
Este ambiente de teste foi preparado para usar IP estático, caso possua DHCP em sua rede, faça as alterações necessarias.
proxmox.pkr.hcl
Na seção provisioner é possível adicionar scripts para personalização da imagem.
No Ubuntu 22.04 é preciso fazer ssh usando chaves pública/privada. Nos testes é usada uma chave sem senha.
ssh-keygen -t ed25519 -C "fulano@email.br"
O caminho da chave privada deve ser informado no arquivo proxmox.pkr.hcl e o conteudo da chave publica no arquivo user-data
Este é um arquivo que define as configurações gerais do template a ser criado.
É nele que é informado o usuário a ser criado, definições de rede e repositorio de pacotes.
Verifique com atenção todas as opções.
No final do arquivo está setado a execução do script install.sh
provisioner "shell" {
script = "script/install.sh"
}
Nele, deixei apenas o comando de instalação do docker, mas é possivel desenvolver o script para alcançar o objetivo do template.
#!/bin/bash
curl -fsSL https://get.docker.com | sh
Então: é isso, uma imagem básica de exemplo já possivel de ser criada com os arquivos do repositório.
Para aprender mais sobre o Packer: