How to instalar entorno de depuración local de PACKER.
(Con windos 11, WSL (Ubuntu 24.04), VSCode, Packer, KVM y GVNC)
Introducción.
Packer como entorno de construcción en pipeline no presenta ningún mecanismo para mostrar la información que la instalación desatendida muestra. Esto implica que cualquier bloqueo en el proceso de instalación desatendida no se muestra y no conocemos su posible origen y como solventarlo por falta de información.
Existen 2 mecanismos:
- construir un laboratorio basado en una máquina de ubuntu, dónde instalemos:
- con entorno gráfico,
- packer,
- kvm y sus utilidadesy otras herramientas
- construir un laboratorio basado en Windows Subsystem Linux y en el cual instalaremos:
- una distro Ubuntu-24.04 (WSL)
- packer,
- kvm y sus utilidades,
- gnvcviwer para conectar a la consola de la VM que construye de forma desatendida,
- alguna aplicación gnome para instalar las librerias del servidor Web y que conectaremos
Entorno.
Nuestro entorno es el siguiente:
- un laptop con Windows 11, 16GB de RAM
- PowerShell v,
- activaremos WSL versión 2,
- instalaremos la distribución Ubuntu-24.04 LTS
- y en Windows 11 instalaremos:
- el IDE de desarrollo VSCODE para conectar a la WSL con Ubuntu 24.04 LTS.
Dentro del entorno WSL instalaremos:
- Ubuntu 24.04 LTS
- packer,
- KVM y herramientas
- GVNCVIEWER, y gedit
Acciones.
VSCODE
Se debe de instalar como se indica en Internet, en la Microsoft Store, o siguiendo indicaciones de cualquier LLM
WSL
Se debe de activar WSL como se indica en muchas páginas de internet, la Microsoft Store o siguiendo las indicaciones de cualquier LLM. Los requisitos exigidos son
Instalación del Entorno de KVM
Aquí describimos los pasos para instalar y activar en WSL las funcionaliades de KVM para ejecutar máquinas en este hipervisor.
Activar la funcinalidad en WSL.
WSL soporta que las distros de Ubuntu puedan ejecutar VM internamente. Para ello se debe de modificar el archivo:
.wslconfig
; en el directorio:
c:\user\<usuario>
Este tiene que tener el siguiente contenido:
[wsl2]
guiApplications=true
nestedVirtualization=true
; el primer parámetro permite que las aplicaciones que necesitan de servidores de ventanas sea posible usarlas y reenviar al escritorio de Windows 11, muy útil para el debugging de las imágenes.
Es obligatorio reiniciar WSL para que tome las nuevas configuraciones.
Instalar los paquetes de KVM.
Para poder usar packer con KVM dentro de nuestra WSL de Ubuntu 24.04 LTS debemos de instalar con el comando los paquetes indicados:
$ sudo apt install -y \
qemu-system-x86 \
libvirt-daemon-system \
libvirt-clients \
bridge-utils \
virt-manager \
cpu-checker
Instalar packer.
Con el siguiente comando hacemos la configuración de repositorios de packer, la actualización de los indices de la paquetería y por último la instalación del binario de packer:
$ sudo echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com \
$(grep -oP '(?<=UBUNTU_CODENAME=).*' \
/etc/os-release || lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/hashicorp.list
$ sudo apt update && sudo apt install packer
Una vez instlado packer realizamos las últimas acciones:
Instalación del visor de GVNCViewer y de aplicaciones de pruebas,
A continuación instalamos el visor vnc y una app(gedit) para comprobar que todo lo anterior. Para ello ejecutamos los siguientes comandos:
$ sudo apt install -y gvncviewer gedit
Una vez instalados, podemos compobar con el segundo si se abre una ventana en nuestro escritorio de windows 11 de la aplicación GEDIT de gnome.
Comprobaciones finales.
Una vez instalado todo hacemos la prueba definitiva. Ejecutamos VSCODE lanzando la WSL de Ubuntu-24.04 LTS con el usuario por defecto que hayamos dado de alta mientras se instaló en pasos previos. Descargamos con el comando siguiente el repositorio de los automatismos de packer de las Client-Templates, con el comando:
$ sudo git clone https://nombre_toke:token@servidor.repositorios/repo.git
Entramos en la ruta de directorios hasta alcanzar al menos el archivo de definiciones de packer:
cd /home/<usuario>/project/client-templates/linux/rocky/9.5/kvm
El usuario de WSL dado de alta, en mi caso, tiene esta línea en el archivo: /etc/sudoers
<usuario> ALL=(ALL:ALL) NOPASSWD:ALL
; ya que si no será imposible ejecutar packer ya que el módulo KVM necesita ser super usuario, al menos en la configuración que he realizado.
LLegados a este punto iniciamos el proyecto con el comando:
$ sudo packer init . Y
; dentro del directorio indicado más arriba. posteriormente ejecutamos:
$ sudo packer build .
En el mensaje de ejecución de packer aparece un mensaje como este:
==> rocky-9.5-kvm.qemu.rocky: vnc://0.0.0.0:5963
; llegado a este punto ejecutamos, en otra consola dentro de VSCODE, este otro comando:
$ sudo gvncviewer localhost:63
Y debe de aparaecer una ventana con la consola de la pantalla de la VM que está realizando la instalación del SO. Tal como muestra la imagen:
<imagen>
Y como se puede ver en esta imagen, la imagen el SO que estamos creando se queda bloqueada para continuar manualmente la instalación cosa que no queremos.
Y esto es todo amigos!
Comentarios
Publicar un comentario