¿Cómo usar Cloud-Init en Proxmox para crear imágenes de máquinas virtuales?

La automatización de máquinas virtuales ahorra tiempo en entornos grandes. Proxmox VE y Cloud-Init se unen para simplificar la creación de imágenes de VM. En este blog aprenderás paso a paso cómo descargar imágenes en la nube, configurar Cloud-Init y crear plantillas de VM reutilizables.

download-icon
Descarga gratuita
para VM, SO, BD, archivos, NAS, etc.
lucia

Updated by Lucia on 2025/12/30

Tabla de contenidos
  • ¿Qué es Cloud-Init?

  • Cómo funciona Cloud-Init

  • ¿Cómo crear una plantilla de máquina virtual utilizando Cloud-Init?

  • Copia de seguridad Proxmox VM con la solución Vinchin

  • Preguntas frecuentes sobre Proxmox Cloud-init

  • Resumen

En un entorno virtualizado, automatizar la configuración de máquinas virtuales es clave para mejorar la eficiencia. Proxmox VE es una popular plataforma de virtualización de código abierto, mientras que Cloud-Init es una herramienta utilizada para inicializar instancias en la nube. Al combinar PVE y Cloud-Init, podemos crear y configurar imágenes de máquinas virtuales rápidamente. Este artículo explica detalladamente cómo usar Cloud-Init en PVE para construir tus propias imágenes.

¿Qué es Cloud-Init?

Cloud-Init es un conjunto de herramientas estandarizadas en la industria que tiene como objetivo normalizar el proceso de inicialización e instalación en diferentes distribuciones de sistemas operativos en servidores en la nube. Cloud-Init se ejecuta dentro de la máquina invitada y aplica configuraciones personalizadas al invitado durante la inicialización. Imagine que es un proveedor de servicios en la nube que necesita inicializar miles de máquinas virtuales diariamente para clientes, posiblemente utilizando diferentes sistemas operativos, asignando diversas direcciones IP, claves SSH, nombres de host, etc., según los requisitos del cliente. ¿Cómo lo gestiona? Cloud-Init fue creado precisamente para resolver este problema.

Desarrollado inicialmente por Canonical, la empresa detrás de Ubuntu, Cloud-Init ahora es compatible con la mayoría de las distribuciones Linux y sistemas FreeBSD. Hoy en día, la mayoría de las plataformas de nube pública utilizan Cloud-Init para la configuración del sistema, y también admite algunos entornos de nube privada (KVM, OpenStack, LXD, etc.), convirtiéndose efectivamente en el estándar de facto.

Esto nos lleva de vuelta a Proxmox. Dado que Proxmox se utiliza para implementar y gestionar máquinas virtuales, es naturalmente adecuado para escenarios Cloud-Init y puede incluso considerarse un componente esencial.

Al solicitar recursos de computación en nubes públicas como AWS o Google Cloud, los proveedores de servicios normalmente requieren que los usuarios seleccionen una imagen del sistema y realicen algunas configuraciones básicas (nombre de host, clave SSH, etc.) y luego creen el sistema basado en eso. Cloud-Init surgió en este contexto para automatizar la inyección de datos del usuario en instancias del sistema.

El objetivo principal de Cloud-Init es definir opciones de configuración que son independientes del sistema operativo, como el nombre de host, la configuración de red, etc.

Características de Cloud-Init:

  • Establecer configuración regional predeterminada

  • Establecer nombre de host

  • Generar y configurar claves privadas SSH

  • Configure puntos de montaje temporales

Cómo funciona Cloud-Init

Cloud-Init se ejecuta en el primer arranque de una instancia y la configura según los metadatos y los datos de usuario proporcionados por el usuario. Estos datos suelen estar en formato YAML e incluir lo siguiente:

Meta-datos: Describe información básica de la instancia, como el ID de la instancia, el nombre del host, etc.

Datos del usuario: Define las configuraciones específicas y los scripts que se ejecutarán cuando la instancia se inicie.

¿Cómo crear una plantilla de máquina virtual utilizando Cloud-Init?

1. Descargue la imagen en la nube adecuada para su sistema deseado (Proxmox VE admite dos tipos de imágenes en la nube: nocloud v1 y configdrive v2). Aquí usaremos Debian 11 como ejemplo. Puede descargarla directamente usando "wget" en PVE o descargarla en otro lugar y luego cargarla mediante SFTP.

2. Cree una VM y asegúrese de que el controlador SCSI esté configurado en VirtIO SCSI. No es necesario crear un disco duro; si lo hace, desasócielo y elimínelo.

3. Agregue un dispositivo CloudInit en la configuración de hardware de la VM que creó.

4. Utilice SSH o herramientas como Xftp para cargar el archivo de imagen al servidor PVE (omita este paso si utilizó "wget"). Luego, use el siguiente comando para importar la imagen del disco a la máquina virtual. Después de la importación exitosa, aparecerá un disco sin usar en la sección de hardware de la VM en el panel de PVE.

qm importdisk 900 debian-11-nocloud-amd64.qcow2 local-lvm

5. Haga doble clic en el disco no utilizado para habilitarlo, seleccione SCSI como tipo de bus/dispositivo y configúrelo como primer dispositivo de arranque en Options → Boot Order.

6. Edite la configuración de Cloud-Init y complete la configuración deseada. Cloud-Init usará el nombre de la máquina virtual como nombre de host.

  • Usuario: En el sistema de plantillas de Debian 11, el usuario predeterminado es "debian". Si está configurando inicios de sesión para root u otros usuarios, ingrese el nombre de usuario aquí. Si se deja en blanco, se utilizará el usuario predeterminado.

  • Contraseña: Introduzca la contraseña para el usuario especificado anteriormente. Se recomienda establecer una contraseña aquí; de lo contrario, es posible que no pueda iniciar sesión en el sistema a través de la consola.

  • Dominio DNS: Puede ingresar el nombre de dominio para la VM. Si se deja en blanco, hereda el dominio del host PVE.

  • Servidor DNS: Si la máquina virtual utiliza un servidor DNS diferente, ingréselo aquí. De lo contrario, heredará la configuración de DNS del host PVE.

  • Clave pública SSH: La clave pública para el inicio de sesión SSH en la máquina virtual. Permite el inicio de sesión SSH basado en claves.

  • Configuración de IP: Si se deja en blanco, la máquina virtual usará DHCP para obtener direcciones IPv4 e IPv6. Puede definir aquí una dirección IP específica, máscara de subred y puerta de enlace para la máquina virtual.

7. Redimensione el disco e inicie la máquina virtual. El primer arranque puede tardar algún tiempo. Si parece que está bloqueado, intente reiniciar.

8. Si la configuración de Cloud-Init no surte efecto, inicie sesión en la máquina virtual mediante la consola PVE y ejecute "cloud-init -v" para verificar si Cloud-Init está instalado. Si no hay ninguna salida, instálelo utilizando los siguientes comandos:

# CentOS

yum install cloud-init -y

# Debian

apt install cloud-init -y

9. A continuación, realice la configuración inicial del sistema Debian. Una vez que todo esté configurado, haga clic con el botón derecho en la máquina virtual y guárdela como plantilla. Luego podrá utilizarla para crear rápidamente nuevas máquinas virtuales.

Copia de seguridad Proxmox VM con la solución Vinchin

Vinchin Backup & Recovery ofrece un conjunto completo de funciones avanzadas para proteger entornos Proxmox VE, garantizando la seguridad e integridad de los datos mediante el cumplimiento de la regla de copia de seguridad 3-2-1.

Sus capacidades incluyen copias de seguridad automáticas de máquinas virtuales, opciones de copia de seguridad sin agente y sin LAN, así como copia fuera del sitio para una recuperación ante desastres sólida. La recuperación instantánea y las técnicas eficientes de reducción de datos, junto con opciones de archivado en la nube, mejoran aún más la gestión de datos. Además, la solución incorpora mecanismos de cifrado de datos y protección contra ransomware para ofrecer una capa adicional de seguridad. También facilita una migración V2V fluida entre plataformas virtuales compatibles, garantizando flexibilidad y facilidad en la transferencia de datos.

Solo se necesitan 4 pasos para que hagas una copia de seguridad de las máquinas virtuales de Proxmox VE:

1. Seleccione el objeto de copia de seguridad.

Copia de seguridad de VM Proxmox

2. Seleccione el destino de la copia de seguridad.

Copia de seguridad de la VM Proxmox

3. Configure estrategias de copia de seguridad.

Copia de seguridad de la VM Proxmox

4. Revise y envíe el trabajo.

Copia de seguridad de VM Proxmox

Miles de empresas en todo el mundo ya han adoptado Vinchin Backup & Recovery para sus necesidades de protección de datos. Puede comenzar a explorar sus amplias capacidades con una prueba completa de 60 días, completamente equipada con todas las funciones. Contáctenos con los detalles de su configuración de Proxmox VE y recibirá una solución personalizada que se integra perfectamente con su entorno informático.

Preguntas frecuentes sobre Proxmox Cloud-init

1. El archivo de hosts /etc/hosts se restablece después del reinicio. ¿Cómo resolverlo?

Modifique el contenido del archivo /etc/cloud/cloud.cfg y comente o elimine update_etc_hosts

2. ¿Dónde se almacena la configuración de Cloud-Init en Proxmox?

La configuración generada se almacena como una imagen similar a un ISO montada en la VM como unidad de CD-ROM (normalmente IDE2 o SATA0). El archivo se genera a partir de la configuración /etc/pve/nodes/<node>/qemu-server/<vmid>.conf.

Resumen

Cloud-Init es una herramienta potente y flexible que simplifica significativamente el proceso de inicialización y configuración de instancias en la nube. Al predefinir archivos de configuración, los usuarios pueden automatizar diversas tareas de inicialización, mejorando así la eficiencia y consistencia del despliegue. Tanto en entornos de nube pública como privada, Cloud-Init es una herramienta indispensable de gestión de configuración.

Compartir en:

Categories: VM Tips