-
O que é Cloud-Init?
-
Como o Cloud-Init Funciona
-
Como Criar um Modelo de Máquina Virtual Usando Cloud-Init?
-
Backup Proxmox VM com a solução Vinchin
-
Perguntas frequentes sobre o Proxmox Cloud-init
-
Resumo
Num ambiente virtualizado, a automação da configuração de máquinas virtuais é fundamental para melhorar a eficiência. O Proxmox VE é uma plataforma de virtualização open-source popular, enquanto o Cloud-Init é uma ferramenta usada para inicializar instâncias em nuvem. Ao combinar o PVE e o Cloud-Init, podemos criar e configurar imagens de VM rapidamente. Este artigo explica detalhadamente como usar o Cloud-Init no PVE para criar suas próprias imagens.
O que é Cloud-Init?
Cloud-Init é um conjunto de ferramentas padrão do setor destinado a padronizar o processo de inicialização e instalação em diferentes distribuições de sistemas operacionais em servidores em nuvem. O Cloud-Init é executado dentro da máquina convidada e aplica configurações personalizadas ao convidado durante a inicialização. Imagine ser um provedor de serviços em nuvem precisando inicializar milhares de VMs diariamente para clientes, possivelmente usando diferentes sistemas operacionais, atribuindo vários endereços IP, chaves SSH, nomes de host etc., de acordo com os requisitos dos clientes. Como você gerencia isso? O Cloud-Init foi criado exatamente para resolver esse problema.
Inicialmente desenvolvido pela Canonical, a empresa por trás do Ubuntu, o Cloud-Init agora oferece suporte à maioria das distribuições Linux e sistemas FreeBSD. Hoje, a maioria das plataformas de nuvem pública utiliza o Cloud-Init para configuração do sistema, e também oferece suporte a alguns ambientes de nuvem privada (KVM, OpenStack, LXD, etc.), tornando-se efetivamente o padrão de fato.
Isso nos remete novamente ao Proxmox. Como o Proxmox é usado para implantar e gerenciar VMs, ele é naturalmente adequado para cenários de Cloud-Init e pode até ser considerado um componente essencial.
Ao solicitar recursos de computação em nuvens públicas como AWS ou Google Cloud, os provedores de serviços normalmente exigem que os usuários selecionem uma imagem do sistema e realizem algumas configurações básicas (nome do host, chave SSH, etc.), para então criar o sistema com base nisso. O Cloud-Init surgiu neste contexto para automatizar a injeção de dados do usuário nas instâncias do sistema.
O objetivo principal do Cloud-Init é definir opções de configuração que são independentes do sistema operacional, como nome do host, configuração de rede, etc.
Funcionalidades do Cloud-Init:
Definir localidade padrão
Definir nome do host
Gerar e configurar chaves privadas SSH
Configure pontos de montagem temporários
Como o Cloud-Init Funciona
O Cloud-Init é executado na primeira inicialização de uma instância e a configura configurando-a de acordo com os metadados e os dados do usuário fornecidos pelo usuário. Esses dados geralmente estão no formato YAML e podem incluir o seguinte:
Meta-dados: Descreve informações básicas da instância, como ID da instância, nome do host, etc.
Dados do usuário: Define as configurações específicas e os scripts a serem executados quando a instância for iniciada.
Como Criar um Modelo de Máquina Virtual Usando Cloud-Init?
1. Baixe a imagem em nuvem apropriada para o seu sistema desejado (Proxmox VE suporta dois tipos de imagem em nuvem: nocloud v1 e configdrive v2). Aqui, usaremos o Debian 11 como exemplo. Você pode baixá-lo diretamente usando "wget" no PVE ou baixá-lo em outro local e fazer o upload via SFTP.
2. Crie uma VM e certifique-se de que o controlador SCSI está definido como SCSI VirtIO. Você não precisa criar um disco rígido—se fizer isso, desanexe e exclua-o.
3. Adicione um dispositivo CloudInit nas configurações de hardware da VM que você criou.
4. Utilize SSH ou ferramentas como Xftp para fazer o upload do arquivo de imagem para o servidor PVE (ignore este passo se usou "wget"). Em seguida, utilize o seguinte comando para importar a imagem do disco na VM. Após a importação bem-sucedida, um disco não utilizado aparecerá na seção de hardware da VM no painel PVE.
qm importdisk 900 debian-11-nocloud-amd64.qcow2 local-lvm
5. Clique duas vezes no disco não utilizado para ativá-lo, selecione SCSI para o tipo de barramento/dispositivo e defina-o como o primeiro dispositivo de inicialização em Options → Boot Order.
6. Edite as configurações do Cloud-Init e preencha a configuração desejada. O Cloud-Init usará o nome da VM como nome do host.
Utilizador: No sistema de modelo Debian 11, o utilizador predefinido é "debian". Se estiver a configurar o início de sessão root ou de outros utilizadores, insira aqui o nome de utilizador. Se deixado em branco, será utilizado o utilizador predefinido.
Senha: Digite a senha para o usuário especificado acima. Recomenda-se definir uma senha aqui; caso contrário, você poderá não conseguir fazer login no sistema através do console.
Domínio DNS: Você pode inserir o nome de domínio para a VM. Se deixado em branco, herdará o domínio do host PVE.
Servidor DNS: Se a VM usar um servidor DNS diferente, insira-o aqui. Caso contrário, ela herdará as configurações de DNS do host PVE.
Chave Pública SSH: A chave pública para login SSH na VM. Habilita o login SSH baseado em chave.
Configuração de IP: Se deixado em branco, a VM usará DHCP para obter endereços IPv4 e IPv6. Você pode definir um endereço IP específico, máscara de sub-rede e gateway para a VM aqui.
7. Redimensione o disco e inicie a VM. A primeira inicialização pode demorar algum tempo. Se parecer travado, tente reiniciar.
8. Se a configuração do Cloud-Init não surtir efeito, faça login na VM usando o console PVE e execute “cloud-init -v” para verificar se o Cloud-Init está instalado. Se não houver saída, instale-o usando os seguintes comandos:
# CentOS
yum install cloud-init -y
# Debian
apt install cloud-init -y
9. Em seguida, realize a configuração inicial do sistema Debian. Após tudo estar configurado, clique com o botão direito na máquina virtual e salve-a como modelo. Você poderá então usá-la para criar rapidamente novas máquinas virtuais.
Backup Proxmox VM com a solução Vinchin
Vinchin Backup & Recovery oferece um conjunto abrangente de recursos avançados para proteger ambientes Proxmox VE, garantindo segurança e integridade dos dados mediante o cumprimento da regra de backup 3-2-1.
As suas capacidades incluem cópias de segurança automáticas de VM, opções de cópia de segurança sem agente e sem LAN, bem como cópias remotas para uma recuperação robusta de desastres. A recuperação instantânea e técnicas eficientes de redução de dados, juntamente com opções de arquivamento em nuvem, melhoram ainda mais a gestão de dados. Além disso, a solução incorpora mecanismos de encriptação de dados e proteção contra ransomware para uma camada extra de segurança. Também facilita a migração V2V contínua entre plataformas virtuais suportadas, garantindo flexibilidade e facilidade na transferência de dados.
São necessários apenas 4 passos para você fazer backup das VMs do Proxmox VE:
1. Selecione o objeto de backup.

2. Selecione o destino do backup.

3. Configure estratégias de backup.

4. Revise e envie o trabalho.

Milhares de empresas em todo o mundo já adotaram o Vinchin Backup & Recovery para suas necessidades de proteção de dados. Você pode começar a explorar suas amplas capacidades com um teste abrangente de 60 dias, totalmente equipado com todos os recursos. Entre em contato conosco com os detalhes da sua configuração do Proxmox VE e você receberá uma solução personalizada que se integra perfeitamente ao seu ambiente de TI.
Perguntas frequentes sobre o Proxmox Cloud-init
1. O ficheiro de hosts /etc/hosts é reposto após a reinicialização. Como resolver isso?
Modifique o conteúdo do arquivo /etc/cloud/cloud.cfg e comente ou exclua update_etc_hosts
2. Onde a configuração do Cloud-Init é armazenada no Proxmox?
A configuração gerada é armazenada como uma imagem semelhante a um ISO montada na VM como uma unidade de CD-ROM (geralmente IDE2 ou SATA0). O arquivo é gerado a partir das configurações /etc/pve/nodes/<node>/qemu-server/<vmid>.conf.
Resumo
O Cloud-Init é uma ferramenta poderosa e flexível que simplifica significativamente o processo de inicialização e configuração de instâncias em nuvem. Ao predefinir arquivos de configuração, os usuários podem automatizar várias tarefas de inicialização, aumentando a eficiência e a consistência da implantação. Tanto em ambientes de nuvem pública quanto privada, o Cloud-Init é uma ferramenta essencial de gerenciamento de configuração.
Partilhar em: