Proxmox Cloud-Init OS template creation Neste guia, abordaremos a criação de um modelo KVM Proxmox a partir de uma imagem na nuvem. Esse mesmo processo funcionará para qualquer tipo de imagem baseado em Cloud-Init Openstack que você encontrar online. Tendo feito vários deles para o nosso serviço VPS baseado em Proxmox, eu queria postar um guia para ajudar qualquer pessoa que queira fazer a mesma coisa. Meu fluxo de trabalho para personalizar um desses para uso com Proxmox com implantação cloud-init do WHMCS 1 - Ambiente de configuração Se não estiver instalado o libguestfs-tools em seu nó proxmox. Você precisará instalar o libguestfs-tools : apt-get install libguestfs-tools 2 - Instale o nano apt-get install nano Por uma questão de sanidade, recomendo definir seu editor padrão para “nano” porque usar o padrão do libguestfs-tools editor é uma experiência realmente frustrante de aprender e economizará muito tempo e erros. Você pode ver seu editor padrão com o comando abaixo. printenv | grep EDITOR Para definir o nano como padrão, se ainda não estiver. use o comando abaixo. export EDITOR=nano No script defini o nano automaticamente como padrão. 3 - Clone o respositório para seu nó PROXMOX e execute: python proxmox_templates.py ele iniciará o download das imagens definida dentro do script e criará as os templates MODIFICAÇÕES A SEREM FEITAS: dentro do script você pode mudar as imagens a serem baixadas e contruidas Exemplo: imagens = [ "https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img", "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64-disk-kvm.img", "https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img", "https://cloud-images.ubuntu.com/daily/server/groovy/current/groovy-server-cloudimg-amd64-disk-kvm.img", "https://cloud-images.ubuntu.com/hirsute/current/hirsute-server-cloudimg-amd64.img", "https://cdimage.debian.org/cdimage/openstack/current-10/debian-10-openstack-amd64.qcow2", "https://cdimage.debian.org/cdimage/openstack/current-9/debian-9-openstack-amd64.qcow2", "http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2", "https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.2.2004-20200611.2.x86_64.qcow2", "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20210210.0.x86_64.qcow2", "https://download.fedoraproject.org/pub/fedora/linux/releases/32/Cloud/x86_64/images/Fedora-Cloud-Base-32-1.6.x86_64.qcow2", "https://github.com/rancher/os/releases/download/v1.5.5/rancheros-openstack.img", "https://mirror.pkgbuild.com/images/v20210315.17387/Arch-Linux-x86_64-cloudimg-20210315.17387.qcow2", "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-latest.x86_64.qcow2", "https://mirror.pkgbuild.com/images/v20210315.17387/Arch-Linux-x86_64-cloudimg-20210315.17387.qcow2", ] OUTRAS MODIFICAÇÃO A SER FEITA É O VM ID PARA QUE SE ENCAIXE CONFORME A SUA NECESSIDADE Estamos ultilizando um random do vmID 1012, ao vmID 1032 você pode modificar na linha 31: vm_id=random.randint(1012,1032) Após ajustar o script conforme a sua necessidade basta executar: python proxmox_templates.py e comecará o processo, lembrando ele após a conclusão as VMs ainda terá que ajustar o disco clicando em: NO_PROXMOX -> vmID -> Hardware -> HARD DISK -> EDIT -> Cache (Write back (unsafe)) e marque a opção discard e click em OK PRONTO seu template está criado.