Multipass: Máquinas virtuales desde la terminal con un simple comando
Multipass es un servicio que lanzó Canonical allá por 2019. Nos da la capacidad de ejecutar máquinas virtuales (basadas en Ubuntu) desde la terminal de manera muy sencilla y rápida. Está disponible tanto para Linux como para Mac o Windows y soporta cloud-init.
Mediante Multipass podemos tener en cuestión de segundos una imagen de Ubuntu corriendo en una máquina virtual con una configuración mínima y sin necesidad de ningún proceso de instalación previo.
En mi caso, que suelo desarrollar desde un Mac pero tengo mis servicios corriendo en servidores Linux, mediante Multipass levanto máquinas virtuales para probar ciertas funcionalidades o configuraciones y las destruyo una vez he terminado, de una manera mucho más sencilla y rápida que a través de otras soluciones más clásicas, como VirtualBox.
Primeros pasos
Una vez tenemos Multipass instalado (podemos seguir los pasos desde su web) basta con tirar el comando multipass
y ver que tenemos un conjunto de opciones bastante amplio para utilizar:
Para arrancar nuestra primera máquina virtual, ejecutaremos:
Y se nos arrancará un Ubuntu con la última versión de LTS. Si queremos ver las máquinas que tenemos y su estado, con ejecutar el comando multipass list
tendremos algo como esto:
Por defecto, al instalar una máquina virtual ésta será la última LTS de Ubuntu, pero tenemos otras opciones disponibles. Podemos verlas con el comando multipass find
:
Si queremos lanzar una en concreto, será suficiente con ejecutar el mismo comando launch
poniendo el nombre de la imagen al final. Si no especificamos nada, por defecto cogerá la última LTS. Además, podemos pasarle una configuración de inicio de cloud-init
para automatizar algunas opciones. Algunos ejemplos de cómo usarlo los tenemos aquí.
Si queremos ejecutar un comando sobre dicha máquina, bastará con ejecutar multipass exec <nombre-de-la-mv> -- <comando>
, por ejemplo:
También podemos hacer uso de multipass shell <nombre-de-la-mv>
para conectarnos a la terminal y así ejecutar los comandos desde ahí directamente.
Por último, los comandos para gestionar el estado de las máquinas que creemos serían los siguientes:
multipass start <nombre-de-la-vm>
: Arranca una máquina existente.multipass stop <nombre-de-la-vm>
: Detiene una máquina en ejecución.multipass delete <nombre-de-la-vm>
: Elimina una máquina existente.multipass purge
: Borra todas las máquinas eliminadas del host.
Si en cualquier momento necesitamos ayuda con algún comando o con multipass
, podemos ejecutar multipass help
para tener una ayuda global y multipass <comando> help
para tener una ayuda específica de ese comando.
Y con esto, espero haber dado una visión sencilla de cómo usar Multipass. El para qué usarlo lo dejo ya a vuestra elección 😄. Yo lo estoy usando para hacer pequeñas pruebas y evitar que se me contaminen unas con otras, así como para pruebas de red entre distintas máquinas.
Si te ha gustado la entrada, o te ha sido útil y quieres ayudarme a pagar los gastos que conlleva el servidor y mantener así el blog libre completamente de anuncios, puedes hacer una donación en Bitcoin en la siguiente dirección: