Multipass VM Manager : guide pour Ubuntu, Windows et macOS

Installation multipasse, configuration et commandes essentielles

Sommaire

Multipass est un gestionnaire léger de machines virtuelles qui permet de créer et de gérer facilement des instances Ubuntu en nuage sur Linux, Windows et macOS.

Quel que soit votre profil – développeur nécessitant des environnements isolés, ingénieur DevOps testant des configurations, ou apprenant Linux – Multipass propose une interface de ligne de commande simple pour lancer rapidement des machines virtuelles Ubuntu.

Multipass VM Manager Ubuntu

Qu’est-ce que Multipass ?

Multipass est l’outil officiel de Canonical pour créer et gérer des machines virtuelles Ubuntu. Il a été conçu pour être simple, rapide et multiplateforme, ce qui en fait un excellent choix pour les développeurs qui ont besoin d’environnements Ubuntu cohérents sur différents systèmes d’exploitation.

Fonctionnalités clés

  • Multiplateforme : Fonctionne sur Linux, Windows et macOS
  • Léger : Faible surcoût de ressources par rapport aux machines virtuelles traditionnelles
  • Prise en charge de cloud-init : Configurez des machines virtuelles avec des métadonnées cloud-init
  • Prise en charge des sauvegardes : Créez et restaurez des sauvegardes de machines virtuelles
  • Intégration réseau : Réseau facile entre l’hôte et les machines virtuelles
  • Accès SSH : Gestion intégrée des clés SSH

Les commandes les plus utiles

# Référence rapide
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

Installation

Ubuntu/Linux

# Installation via snap (recommandé)
sudo snap install multipass

# Ou installation via apt
sudo apt update
sudo apt install multipass

Windows

  1. Téléchargez l’installeur Windows depuis multipass.run
  2. Exécutez l’installeur en tant qu’administrateur
  3. Multipass utilisera par défaut Hyper-V (Windows 10 Pro/Enterprise) ou reculera vers VirtualBox

macOS

# Installation via Homebrew
brew install --cask multipass

# Ou téléchargez depuis multipass.run

Utilisation de base

Création de votre première machine virtuelle

# Créer une machine virtuelle avec les paramètres par défaut
multipass launch

# Créer une machine virtuelle avec un nom spécifique
multipass launch --name my-vm

# Créer une machine virtuelle avec une version spécifique d'Ubuntu
multipass launch 22.04 --name ubuntu-22

# Créer une machine virtuelle avec des ressources personnalisées
multipass launch --name dev-vm --cpus 2 --memory 4G --disk 20G

Gestion des machines virtuelles

# Liste de toutes les machines virtuelles
multipass list

# Démarrer une machine virtuelle
multipass start my-vm

# Arrêter une machine virtuelle
multipass stop my-vm

# Supprimer une machine virtuelle
multipass delete my-vm
multipass purge  # Supprime toutes les machines virtuelles supprimées

Accès aux machines virtuelles

# Ouvrir un shell dans la machine virtuelle
multipass shell my-vm

# Exécuter une commande dans la machine virtuelle
multipass exec my-vm -- ls -la

# Copier des fichiers vers/depuis la machine virtuelle
multipass transfer file.txt my-vm:/home/ubuntu/
multipass transfer my-vm:/home/ubuntu/file.txt ./

Une fois à l’intérieur d’une machine virtuelle Multipass, vous disposerez d’un environnement de shell Ubuntu complet. Pour un travail efficace en ligne de commande, consultez notre Feuille de rappel Bash pour les commandes et raccourcis essentiels.

Multipass Instances

Feuille de rappel Multipass

Commandes de gestion des machines virtuelles

# Créer et lancer
multipass launch                    # Créer une machine virtuelle par défaut
multipass launch --name vm1        # Créer une machine virtuelle nommée
multipass launch 20.04 --name old  # Version spécifique d'Ubuntu

# Allocation des ressources
multipass launch --cpus 2 --memory 4G --disk 20G --name dev

# Contrôle de la machine virtuelle
multipass start vm1                # Démarrer la machine virtuelle
multipass stop vm1                 # Arrêter la machine virtuelle
multipass restart vm1               # Redémarrer la machine virtuelle
multipass suspend vm1              # Mettre en veille la machine virtuelle

# Informations
multipass list                     # Liste de toutes les machines virtuelles
multipass info vm1                 # Détails de la machine virtuelle
multipass get local.privileged-mounts  # Vérifier les paramètres de montage

Opérations de fichiers

# Transfert de fichiers
multipass transfer file.txt vm1:/home/ubuntu/
multipass transfer vm1:/home/ubuntu/file.txt ./
multipass transfer --recursive ./folder vm1:/home/ubuntu/

# Monter un répertoire de l'hôte
multipass mount /host/path vm1:/vm/path
multipass umount vm1:/vm/path

Configuration réseau

# Informations réseau
multipass info vm1 | grep IPv4

# Redirection de port (Windows/macOS)
multipass set local.port-forwarding=true
multipass restart vm1

Sauvegardes et snapshots

# Créer un snapshot
multipass snapshot vm1 snapshot1

# Restaurer un snapshot
multipass restore vm1 snapshot1

# Liste des snapshots
multipass list --all

Configuration avancée

Intégration avec cloud-init Créez un fichier 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

Lancer la machine virtuelle avec cloud-init :

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

Images personnalisées

# Liste des images disponibles
multipass find

# Utiliser une image spécifique
multipass launch daily:22.04 --name daily-vm

Intégration avec des outils de développement

Intégration avec Docker Multipass fonctionne très bien avec Docker pour le développement conteneurisé. Vous pouvez exécuter Docker à l’intérieur des machines virtuelles Multipass ou utiliser Multipass pour créer des environnements isolés pour le développement Docker.

Environnements de développement Pour le développement Python, vous pouvez configurer des environnements isolés similaires à les environnements virtuels Python mais avec une isolation complète du système d’exploitation. Pour les utilisateurs de VS Code, les machines virtuelles Multipass peuvent être utilisées comme environnements de développement distants, complétant les conteneurs de développement dans VS Code pour les scénarios nécessitant une isolation complète du système d’exploitation.

Applications auto-hébergées Multipass est parfait pour tester des applications auto-hébergées comme Gitea ou Ollama dans des environnements isolés. Pour l’orchestration conteneurisée, vous pouvez exécuter des clusters Kubernetes à l’intérieur des machines virtuelles Multipass et utiliser notre Feuille de rappel Kubernetes pour gérer vos charges de travail conteneurisées.

Dépannage

Problèmes courants

# Vérifier l'état de Multipass
multipass get local.driver

# Réinitialiser Multipass
multipass purge
sudo snap restart multipass

# Vérifier les journaux de la machine virtuelle
multipass logs vm1

Optimisation des performances

# Activer les montages privilégiés pour une meilleure performance
multipass set local.privileged-mounts=true

# Configurer les limites de mémoire
multipass set local.memory=8G

Comparaison avec les alternatives

Multipass vs Docker

  • Multipass : Machines virtuelles complètes, meilleur pour les tests au niveau du système d’exploitation, plus gourmand en ressources
  • Docker : Conteneurs, plus efficace, meilleur pour le déploiement d’applications

Multipass vs VirtualBox/VMware

  • Multipass : Axé ligne de commande, prise en charge de cloud-init, automatisation plus facile
  • VirtualBox/VMware : Interface graphique, plus d’options de configuration, meilleur pour l’utilisation sur bureau

Multipass vs Proxmox

  • Multipass : Léger, focus sur une seule machine virtuelle, idéal pour les environnements de développement
  • Proxmox : Pile complète de virtualisation, meilleur pour les environnements de production, fonctionnalités avancées comme le clustering et la haute disponibilité

Multipass vs Vagrant

  • Multipass : Ubuntu-centré, configuration plus simple, idéal pour les scénarios à une seule machine virtuelle
  • Vagrant : Prise en charge multi-providers, provisionning complexe, meilleur pour les configurations à plusieurs machines virtuelles

Bonnes pratiques

  1. Gestion des ressources : Allouez des CPU et de la mémoire appropriés en fonction de votre charge de travail
  2. Stratégie de sauvegarde : Créez des sauvegardes avant les changements majeurs
  3. Sécurité réseau : Utilisez des règles de pare-feu appropriées pour les services exposés
  4. Stratégie de sauvegarde : Sauvegardez régulièrement les données importantes des machines virtuelles
  5. Nettoyage : Supprimez les machines virtuelles inutilisées pour libérer de l’espace disque

Quand utiliser Multipass

Choisissez Multipass lorsque :

  • Vous avez besoin de machines virtuelles Ubuntu complètes pour le développement
  • Vous souhaitez une gestion simple des machines virtuelles en ligne de commande
  • Vous travaillez sur différents systèmes d’exploitation
  • Vous avez besoin de la prise en charge de cloud-init
  • Vous souhaitez tester des applications auto-hébergées en isolation

Considérez des alternatives lorsque :

  • Vous avez besoin de performances maximales (utilisez des conteneurs Docker)
  • Vous avez besoin de configurations complexes à plusieurs machines virtuelles (utilisez Vagrant)
  • Vous avez besoin d’une gestion graphique (utilisez VirtualBox/VMware)

Multipass excelle à fournir des environnements de développement Ubuntu simples et cohérents sur plusieurs plateformes, en faisant ainsi un excellent choix pour les développeurs qui ont besoin d’une gestion fiable des machines virtuelles sans la complexité des outils de virtualisation traditionnels.

Liens utiles