dgicloud / proxmox-templates

Script em python para criação automática de templates kvm para proxmox

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Script em python para criação automática de templates kvm para proxmox


Languages

Language:Python 100.0%