Guía de Multipass VM Manager: Ubuntu, Windows y macOS

Instalación, configuración y comandos esenciales en múltiples pasos

Índice

Multipass es un administrador ligero de máquinas virtuales que facilita la creación y gestión de instancias en la nube de Ubuntu en Linux, Windows y macOS.

Ya seas un desarrollador que necesite entornos aislados, un ingeniero DevOps que pruebe configuraciones o alguien que esté aprendiendo Linux, Multipass ofrece una interfaz de línea de comandos sencilla para crear rápidamente máquinas virtuales de Ubuntu.

Multipass VM Manager Ubuntu

¿Qué es Multipass?

Multipass es la herramienta oficial de Canonical para crear y gestionar máquinas virtuales de Ubuntu. Está diseñado para ser sencillo, rápido y multiplataforma, lo que lo convierte en una excelente opción para desarrolladores que necesitan entornos de Ubuntu consistentes en diferentes sistemas operativos.

Funciones clave

  • Multiplataforma: Funciona en Linux, Windows y macOS
  • Ligero: Mínimo sobrecoste de recursos en comparación con las máquinas virtuales tradicionales
  • Soporte de cloud-init: Configura máquinas virtuales con metadatos de cloud-init
  • Soporte de instantáneas: Crea y restaura instantáneas de máquinas virtuales
  • Integración de red: Red fácil entre el host y las máquinas virtuales
  • Acceso SSH: Gestión integrada de claves SSH

Comandos más útiles

# Referencia rápida
multipass launch --name dev --cpus 2 --memory 4G --disk 20G
multipass shell dev
multipass mount ./project dev:/home/ubuntu/project
multipass snapshot dev before-changes
multipass restore dev before-changes
multipass delete dev
multipass purge

Instalación

Ubuntu/Linux

# Instalación mediante snap (recomendado)
sudo snap install multipass

# O instalar mediante apt
sudo apt update
sudo apt install multipass

Windows

  1. Descarga el instalador de Windows desde multipass.run
  2. Ejecuta el instalador como administrador
  3. Multipass usará Hyper-V por defecto (Windows 10 Pro/Enterprise) o caerá en VirtualBox

macOS

# Instalación mediante Homebrew
brew install --cask multipass

# O descarga desde multipass.run

Uso básico

Crear tu primera máquina virtual

# Crear una máquina virtual con configuración predeterminada
multipass launch

# Crear una máquina virtual con nombre específico
multipass launch --name my-vm

# Crear una máquina virtual con una versión específica de Ubuntu
multipass launch 22.04 --name ubuntu-22

# Crear una máquina virtual con recursos personalizados
multipass launch --name dev-vm --cpus 2 --memory 4G --disk 20G

Gestionar máquinas virtuales

# Listar todas las máquinas virtuales
multipass list

# Iniciar una máquina virtual
multipass start my-vm

# Detener una máquina virtual
multipass stop my-vm

# Eliminar una máquina virtual
multipass delete my-vm
multipass purge  # Eliminar todas las máquinas virtuales eliminadas

Acceder a máquinas virtuales

# Abrir shell en la máquina virtual
multipass shell my-vm

# Ejecutar un comando en la máquina virtual
multipass exec my-vm -- ls -la

# Copiar archivos a/from la máquina virtual
multipass transfer file.txt my-vm:/home/ubuntu/
multipass transfer my-vm:/home/ubuntu/file.txt ./

Una vez dentro de una máquina virtual de Multipass, tendrás acceso a un entorno de shell completo de Ubuntu. Para trabajar eficientemente en la línea de comandos, consulta nuestra Hoja de referencia de Bash para comandos y atajos esenciales.

Instancias de Multipass

Hoja de referencia de Multipass

Comandos de gestión de máquinas virtuales

# Crear y lanzar
multipass launch                    # Crear máquina virtual predeterminada
multipass launch --name vm1        # Crear máquina virtual con nombre
multipass launch 20.04 --name old  # Versión específica de Ubuntu

# Asignación de recursos
multipass launch --cpus 2 --memory 4G --disk 20G --name dev

# Control de máquina virtual
multipass start vm1                # Iniciar máquina virtual
multipass stop vm1                 # Detener máquina virtual
multipass restart vm1               # Reiniciar máquina virtual
multipass suspend vm1              # Suspender máquina virtual

# Información
multipass list                     # Listar todas las máquinas virtuales
multipass info vm1                 # Detalles de la máquina virtual
multipass get local.privileged-mounts  # Verificar configuraciones de montaje

Operaciones de archivos

# Transferencia de archivos
multipass transfer file.txt vm1:/home/ubuntu/
multipass transfer vm1:/home/ubuntu/file.txt ./
multipass transfer --recursive ./folder vm1:/home/ubuntu/

# Montar directorio del host
multipass mount /host/path vm1:/vm/path
multipass umount vm1:/vm/path

Configuración de red

# Información de red
multipass info vm1 | grep IPv4

# Redirección de puertos (Windows/macOS)
multipass set local.port-forwarding=true
multipass restart vm1

Instantáneas y copias de seguridad

# Crear instantánea
multipass snapshot vm1 snapshot1

# Restaurar instantánea
multipass restore vm1 snapshot1

# Listar instantáneas
multipass list --all

Configuración avanzada

Integración con cloud-init Crea un archivo cloud-config.yaml:

#cloud-config
package_update: true
package_upgrade: true
packages:
  - docker.io
  - git
  - curl

users:
  - name: developer
    sudo: ALL=(ALL) NOPASSWD:ALL
    shell: /bin/bash
    ssh_authorized_keys:
      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC...

runcmd:
  - systemctl enable docker
  - systemctl start docker

Lanza la máquina virtual con cloud-init:

multipass launch --cloud-init cloud-config.yaml --name configured-vm

Imágenes personalizadas

# Listar imágenes disponibles
multipass find

# Usar imagen específica
multipass launch daily:22.04 --name daily-vm

Integración con herramientas de desarrollo

Integración con Docker Multipass funciona excelente con Docker para el desarrollo en contenedores. Puedes ejecutar Docker dentro de las máquinas virtuales de Multipass o usar Multipass para crear entornos aislados para desarrollo con Docker.

Entornos de desarrollo Para el desarrollo en Python, puedes configurar entornos aislados similares a entornos virtuales de Python pero con aislamiento total del sistema operativo. Para usuarios de VS Code, las máquinas virtuales de Multipass pueden usarse como entornos de desarrollo remotos, complementando contenedores de desarrollo en VS Code para escenarios que requieren aislamiento total del sistema operativo.

Aplicaciones autohospedadas Multipass es perfecto para probar aplicaciones autohospedadas como Gitea o Ollama en entornos aislados. Para la orquestación de contenedores, puedes ejecutar clústeres de Kubernetes dentro de las máquinas virtuales de Multipass y usar nuestra Hoja de referencia de Kubernetes para gestionar tus cargas de trabajo en contenedores.

Solución de problemas

Problemas comunes

# Verificar el estado de Multipass
multipass get local.driver

# Reiniciar Multipass
multipass purge
sudo snap restart multipass

# Verificar los registros de la máquina virtual
multipass logs vm1

Optimización del rendimiento

# Habilitar montajes privilegiados para un mejor rendimiento
multipass set local.privileged-mounts=true

# Configurar límites de memoria
multipass set local.memory=8G

Comparación con alternativas

Multipass vs Docker

  • Multipass: Máquinas virtuales completas, mejor para pruebas a nivel del sistema operativo, más intensivo en recursos
  • Docker: Contenedores, más eficiente, mejor para despliegue de aplicaciones

Multipass vs VirtualBox/VMware

  • Multipass: Enfocado en línea de comandos, soporte de cloud-init, automatización más fácil
  • VirtualBox/VMware: Basado en GUI, más opciones de configuración, mejor para uso en escritorio

Multipass vs Proxmox

  • Multipass: Ligero, enfoque en una sola máquina virtual, excelente para entornos de desarrollo
  • Proxmox: Pila completa de virtualización, mejor para entornos de producción, características avanzadas como clústeres y alta disponibilidad

Multipass vs Vagrant

  • Multipass: Ubuntu-centrado, configuración más sencilla, mejor para escenarios de una sola máquina virtual
  • Vagrant: Soporte multi-proveedor, provisionamiento complejo, mejor para configuraciones de múltiples máquinas virtuales

Buenas prácticas

  1. Gestión de recursos: Asigna CPU y memoria adecuados según tu carga de trabajo
  2. Estrategia de instantáneas: Crea instantáneas antes de cambios importantes
  3. Seguridad de red: Usa reglas de firewall adecuadas para servicios expuestos
  4. Estrategia de copia de seguridad: Haz copias de seguridad periódicas de datos importantes de las máquinas virtuales
  5. Limpieza: Elimina máquinas virtuales no utilizadas para liberar espacio en disco

Cuándo usar Multipass

Elige Multipass cuando:

  • Necesitas máquinas virtuales completas de Ubuntu para el desarrollo
  • Quieres una gestión sencilla de máquinas virtuales desde la línea de comandos
  • Estás trabajando en diferentes sistemas operativos
  • Necesitas soporte de configuración de cloud-init
  • Quieres probar aplicaciones autohospedadas en entornos aislados

Considera alternativas cuando:

  • Necesitas el máximo rendimiento (usa contenedores de Docker)
  • Necesitas configuraciones complejas de múltiples máquinas virtuales (usa Vagrant)
  • Necesitas gestión basada en GUI (usa VirtualBox/VMware)

Multipass destaca por ofrecer entornos de desarrollo de Ubuntu simples y consistentes en múltiples plataformas, lo que lo convierte en una excelente opción para desarrolladores que necesitan gestión de máquinas virtuales confiable sin la complejidad de herramientas de virtualización tradicionales.

Enlaces útiles