Terraform+Proxmox, la experiencia en mi homelab, parte 2

En esta entrada veremos como preparar las plantillas base que usaremos a la hora de interactuar con Terraform en la creación de las máquinas virtuales o VMs. Para ello usaremos Ubuntu y Debian, las dos distros más comúnes y que más se usan a la hora de provisionar servidores.

Comencemos con Ubuntu. Nos descargaremos la imagen virtual de cloud-init, y crearemos la plantilla desde acá. El siguiente procedimiento deben ejecutarlo desde dentro del Proxmox:

Ahora bien, antes de continuar, recomiendo configurar de acuerdo a nuestras necesidades básicas el cloud-init, después crear la plantilla y clonar.

Y esos comandos? ¿Qué hemos hecho?

Fácil. Después de descargar la imagen de Ubuntu, en este caso 20.04, hemos creado una máquina virtual basado en la imagen y le hemos asignado los recursos necesarios de hardware para que funcione.

  • Ok, pero sigo sin entender. ¿En qué me ayuda eso?

  • Bueno, imagina que cada vez que necesitas usar una máquina virtual, debes crear una de cero, con el iso de instalación de ubuntu, iniciar el instalador, configurar zona horaria, asignar hostname, crear usuario/contraseña, particionar y asignar espacios en disco, configurar red y dns, configurar repositorios, seguir un tedioso instalador a que termine de descargar paquetes para que la instalación sea como deseas. Mientras que, de la forma que te explico, ya tienes la imagen lista, es sólo clonarla, asignarle los recursos de disco/memoria/procesador, cambiar IP y dns. Encenderla y listo, proceso de 45 segundos, máximo, contra 5~8 minutos de instalación base desde el iso. Entiendes ahora la ventaja? 😉

Dos detalles:

    • Un tema necesario aclarar, es el siguiente, antes del paso de crear la plantilla usted puede hacer los cambios que necesite mediante la interfaz del proxmox, esto es a conveniencia del usuario. Un cambio muy común es el espacio en disco, cuando usted crea una plantilla por default, de ubuntu, se le asigna un espacio en disco de 2 gigas. Se recomienda dejar el espacio por default en 2GB, y cuando se clone la máquina virtual, en ese momento se expanda el espacio en disco, basado en la necesidad y el uso que se le va a dar.
    • Además, otro tema, usted puede modificar la plantilla, es decir, antes de crearla, es una máquina virtual normalita. Usted la puede encender, quitar y poner lo que necesite, por ejemplo, agregarle programas que necesitará de manera general, por ejemplo:

Asignar fecha y hora:

Habiliar automáticamente los updates:

Eliminar el machine ID, para cuando reinicie, se le asigne uno nuevo, esto es importante, pues de esta plantilla se clonarán las futuras máquinas virtuales:

O quitar snapd:

Y eliminar todos los snaps, uno por uno:

Y eliminar al final todo rastro de snapd en ese sistema:

Después de hecho todos estos pasos, crear la plantilla:

Con Debian el procedimiento es el mismo, lo único que cambia es la imagen:

Y con eso tendremos algo como esto:

Entonces, es cuestión de probar y adaptar a nuestras necesidades. Nos vemos en la parte 3, para seguir ahondando en este tema. Saludos y happy hacking!

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.