Probando Kimchi para administrar entornos virtuales KVM en Ubuntu 16.04 LTS

por | noviembre 21, 2017

Tanto en mi sobremesa con Debian Stretch como en mi portátil con Ubuntu 16.04 tengo prácticamente todas mis máquinas virtuales corriendo con KVM. Acostumbrado a virt-manager, decidí probar Kimchi en el portátil para administrar el entorno virtual.

Kimchi no es más que una interfaz web escrita en HTML5 que sirve para administrar de una forma sencilla e intuitiva nuestro entorno de máquinas virtuales KVM. Dada su facilidad de uso es idónea para iniciarse en entornos de virtualización. IBM, por ejemplo, la incluye actualmente en su solución PowerKVM.

La instalación en Ubuntu 16.04 LTS debería ser tan sencilla como hacer un sudo apt-get kimchi. Sin embargo, no os recomiendo que utilicéis dicho método en estos momentos, ya que el paquete de repos no está actualizado (la actual release estable es la 2.5.0 mientras que el paquete de repo está en la 1.5.0 como podemos ver con un apt-cache show kimchi). Hay además numerosos problemas reportados.

La mejor solución en estos momentos, al menos para Ubuntu 16.04, es utilizar los paquetes oficiales para nuestra distro. Dichos paquetes son distribuidos en la página del proyecto en GitHub. En este caso:

wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.noarch.deb
wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/wok-2.5.0-0.noarch.deb

Procedemos a instalar con dpkg:

sudo dpkg -i kimchi-2.5.0-0.noarch.deb wok-2.5.0-0.noarch.deb

Entonces el gestor dpkg nos avisará de que es necesario solventar ciertas dependencias. Lo hacemos con:

sudo apt-get install -f

Kimchi se instala como plugin de Wok, un framework HTML5 embebido por defecto en un servidor web Nginx. Podemos gestionar el servicio con:

systemctl {start|stop|restart} wokd

Accederemos a Kimchi por el navegador web con https://localhost:8001. Las credenciales para hacer login son las mismas que las que utilizamos para entrar en nuestro sistema, ya que se hace uso de autenticación PAM.

Una vez dentro, una de las primeras secciones que encontraremos será la del log de actividad de la consola web, donde se registran todos los eventos y acciones realizados en la herramienta:

En el apartado Guests de la sección de Virtualización podemos crear máquinas virtuales a partir de plantillas predefinidas (templates). Estas plantillas permiten configurar previamente el número de CPUs, RAM, red, imagen ISO de instalación, tipo de formato de almacenamiento con qcow o raw, etc… que utilizará nuestra máquina virtual.

También desde la vista Guests podemos realizar diversas operaciones sobre nuestras máquinas virtuales: inicio/parada, migrar, clonar, editar configuración, crear nuevas VMs…

De la misma manera que con virt-manager podemos conectar con la consola de nuestros guests, en Kimchi podemos hacer lo mismo con una consola JavaScript embebida, ya sea mediante VNC o SPICE (he encontrado mejores resultados con éste último):

En el apartado de almacenamiento podemos activar/desactivar, definir nuevos storage pools (tipo NFS, iSCSI, directorio local, etc…), analizar ocupación de cada storage, etc…

En redes podemos parar redes definidas, crear nuevas de tipo Bridge, aisladas, NAT, VEPA, etc…

Como vemos Kimchi es una utilidad interesante para entornos de virtualización pequeños o medianos. Para menesteres de más largo alcance donde las necesidades de administración sean más complejas, podemos optar por Proxmox Virtual Environment, distro basada en Debian para administrar entornos KVM de la que ya hablamos hace tiempo.

Hay, no obstante, muchas otras disponibles a las que quizá os interese echar un vistazo.