- Ubuntu Multipass es una herramienta para ejecutar y administrar rápidamente máquinas virtuales Linux en una workstation
- Se puede usar en Linux, MacOS y Windows
- Es una alternativa a Docker o VirtualBox, y se puede usar de forma más fácil y simple
- Ayuda a mantener limpia la workstation y es útil para probar y desplegar software
¿Cómo funciona Multipass?
- Crear y ejecutar una nueva máquina virtual:
multipass launch --name backend
- Verificar el estado:
multipass info backend
- Ejecutar un comando:
multipass exec backend -- systemctl restart apache
- Iniciar una sesión de shell interactiva:
multipass shell backend
- Listar todas las instancias:
multipass list
- Reiniciar:
multipass restart backend
- Eliminar una instancia:
multipass delete backend
- También hay comandos adicionales como montar directorios (
mount) y copiar archivos (transfer)
- La documentación detallada se puede consultar aquí
¿Qué se puede hacer con Multipass?
- Las máquinas virtuales y los contenedores son de las herramientas más útiles en el cinturón de herramientas de un desarrollador
- Se puede instalar software de terceros en un entorno aislado para mantener la workstation limpia y en buen estado
- Al hacer pruebas y despliegues en un entorno limpio, se puede reducir el síndrome de “en mi máquina sí funciona”
- Existen varias soluciones, como Docker, VMWare, VirtualBox, VPS baratos e instancias desechables en la nube
- Las máquinas virtuales de Multipass son instancias completas de Ubuntu LTS
- Todo lo que se puede hacer en un servidor Ubuntu Linux también se puede hacer en una instancia de Multipass
- Se puede ejecutar software aislado de la workstation
- Se pueden ejecutar varias microinstancias para realizar pruebas de integración automatizadas
- Se pueden probar scripts de despliegue localmente
Ventajas de Multipass
Las instancias de Multipass ejecutan Ubuntu LTS completo
- Todo viene listo por defecto, incluyendo
nano y curl
- Se pueden usar de inmediato herramientas Linux conocidas
- No hace falta aprender comandos nuevos, lo que ahorra carga mental al desarrollador
Las instancias de Multipass están conectadas
- En cuanto se ejecuta una instancia, ya puede acceder a la LAN y la WAN
- La conectividad queda habilitada sin configuración adicional
- No hace falta configurar manualmente una red virtual ni mapear puertos
Las instancias de Multipass son persistentes
- Los contenedores Docker están diseñados para ser desechables
- Los datos deben guardarse en volúmenes compartidos
- Multipass puede montar carpetas del host en una instancia con el comando
mount
- La instancia predeterminada monta por defecto la carpeta personal como
~/Home, permitiendo acceso inmediato a los archivos
Administrar instancias de Multipass es fácil
- La sintaxis de los comandos y las opciones son pocas y fáciles de recordar
- Gracias a la ejecución de comandos y la transferencia de archivos, es fácil escribir scripts para automatizar instalación de software, pruebas de integración, tareas de despliegue y más
También tiene UI
- Si instalas Multipass en una máquina Linux con PopOS!, aparece una UI en la barra superior
¿Dónde se consigue?
- Multipass se puede usar en Linux, MacOS y Windows
- En Linux, lo mejor es instalarlo con
snap
- En distribuciones basadas en Ubuntu, es probable que
snap ya venga instalado
- Si no es así, primero hay que instalar el daemon de
snap con el gestor de paquetes
- En otras plataformas, se puede descargar el paquete de instalación adecuado aquí
Nota
- Si otro software de VM como Oracle VirtualBox está en ejecución, es posible que las instancias de Multipass no arranquen
- Basta con detener VirtualBox y volver a intentarlo
Resumen de GN⁺
- Ubuntu Multipass es una herramienta de administración de máquinas virtuales útil para desarrolladores e ingenieros DevOps
- Multipass es muy útil para aislar y mantener limpio el entorno de desarrollo, y resulta especialmente familiar para desarrolladores porque permite usar fácilmente diversas herramientas de Linux.
- Se puede usar de forma más fácil y simple que Docker o VirtualBox
- Frente a Docker, sus grandes ventajas son la persistencia de datos y la facilidad de configuración de red. Aun así, no se puede ignorar la ligereza y velocidad de despliegue de Docker.
- Ejecuta instancias completas de Ubuntu LTS, por lo que se pueden usar de inmediato herramientas y comandos conocidos
- Permite probar fácilmente distintos escenarios de prueba y despliegue en local, lo que ayuda a detectar y resolver con anticipación problemas que podrían aparecer en entornos reales
- Se puede usar en múltiples plataformas y su instalación también es sencilla
5 comentarios
Viendo que internamente necesita una herramienta de virtualización, parece mejor usar directamente una herramienta de virtualización.
¿De verdad hay que instalar snap? Si por esto también hay que instalar snap, siento que solo aumentaría los puntos de administración. https://multipass.run/install
En lugar de limitar los invitados de virtualización solo a Ubuntu, usar
podmanrootless en mi host me permite usar varias distribuciones Linux como invitadas, como Ubuntu, Alpine, RHEL y Rocky, así que es más ventajoso porque puedo adaptarme a una mayor variedad de entornos de despliegue.No hace falta aprender comandos nuevos, así que puedes ahorrar capacidad mental como desarrollador.
¿Vagrant para Ubuntu?