Aller au contenu

KVM avec gestion web via Cockpit

Dans cet article

Information

KVM avec gestion web via Cockpit est un hyperviseur prêt à l'emploi basé sur QEMU/KVM avec un panneau web Cockpit préinstallé et le module cockpit-machines pour la gestion des machines virtuelles. La solution est conçue pour le déploiement rapide d'infrastructures de virtualisation avec une interface web pratique, sans avoir besoin d'utiliser des clients GUI séparés ou des commandes CLI complexes.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (Go) Min HDD/SSD (Go) Domaine personnalisé Actif
450 KVM with Cockpit UI Ubuntu 22.04 + + + + 4 8 100 Non COMMANDER

Chemins et fichiers principaux pour KVM/Cockpit :

  • Images et disques VM (stockage par défaut) : /var/lib/libvirt/images/
  • Configurations VM (libvirt) : /etc/libvirt/qemu/
  • Configuration du socket et de libvirtd : /etc/libvirt/libvirtd.conf, /var/run/libvirt/
  • Configuration de Cockpit : /etc/cockpit/
  • Certificats TLS de Cockpit (ws-certs) : /etc/cockpit/ws-certs.d/
  • Répertoire Let's Encrypt pour le FQDN de Cockpit : /etc/letsencrypt/live/<kvm_fqdn>/
  • Journaux libvirt : journalctl -u libvirtd, /var/log/libvirt/
  • Journaux Cockpit : journalctl -u cockpit -u cockpit.socket

Remarque

Sauf indication contraire, les dernières versions stables des packages KVM, libvirt et Cockpit sont installées par défaut depuis les dépôts du système d'exploitation ou le site du développeur.

Premiers pas après le déploiement

Après le paiement de la commande, une notification de disponibilité du serveur sera envoyée à l'adresse e-mail fournie lors de l'inscription. L'e-mail contiendra l'adresse IP du VPS/serveur, les identifiants de connexion SSH et un lien vers le panneau de gestion du serveur — Invapi.

Les clients gèrent l'équipement via le panneau de gestion du serveur et l'API — Invapi. Dans l'onglet Configuration* >> **Tags du serveur sélectionné, les paramètres techniques et les liens de service sont disponibles.

Les données d'autorisation, que l'on peut trouver soit dans l'onglet Configuration* >> **Tags du panneau de gestion du serveur, soit dans le message e-mail :

  • Lien d'accès à l'interface web Cockpit : dans la balise webpanel (port 9090, HTTPS)

Accès à l'interface web Cockpit

Connexion au panneau

  1. Ouvrez un navigateur sur votre machine locale (par exemple, Firefox sous Ubuntu).
  2. Accédez à une adresse telle que :
  3. https://<adresse_IP>:9090 — lors de l'accès par IP ;
  4. https://<kvm_fqdn>:9090 — lors de l'accès par nom de domaine issu de la balise webpanel.

Par défaut, Cockpit écoute sur le port TCP 9090, qui doit être autorisé dans le pare-feu utilisé (UFW, firewalld, iptables, etc.).

Connexion et accès administratif

  1. Sur la page de connexion, entrez le nom d'utilisateur et le mot de passe du serveur (généralement le compte fourni dans l'e-mail ou créé par l'administrateur).

  1. Après la connexion, la page d'accueil de Cockpit s'ouvre avec les indicateurs clés (charge CPU, RAM, systèmes de fichiers, trafic réseau).

Remarque

Si les opérations de gestion des machines virtuelles et des services système sont activées, vous devez cliquer sur le bouton Turn on administrative access en haut de l'interface pour accorder temporairement des privilèges d'administrateur (sudo) à la session sans saisie constante du mot de passe.

Après avoir activé l'accès administratif, les opérations de gestion des machines virtuelles et des services système deviennent disponibles.

Interface Cockpit : Aperçu des sections

L'interface Cockpit dispose d'un menu de navigation simple et logique à gauche. Chaque section gère un aspect spécifique de la gestion du serveur et de la virtualisation.

Sections système

Aperçu (Tableau de bord)

La page principale du serveur ("Tableau de bord") affiche un résumé de l'état du système :

  • Health : État du système (erreurs, avertissements).
  • Usage : Graphiques d'utilisation des ressources en temps réel (CPU, RAM, E/S disque, Réseau).
  • Informations système : Informations matérielles, nom d'hôte, temps de fonctionnement, version du système d'exploitation.
  • Configuration : Accès rapide pour modifier le nom d'hôte, l'heure, rejoindre un domaine et les profils de performance.

Journaux

Interface pour afficher les journaux système (similaire à journalctl) :

  • Permet de filtrer les journaux par date, gravité (Erreurs, Avertissements, Informations) et services.
  • Pratique pour diagnostiquer les erreurs de démarrage des VM ou les problèmes réseau sans utiliser la console.

Stockage

Gestion du sous-système de disque :

  • Drives : Liste des disques physiques. Vous pouvez créer des tables de partition, formater des disques.
  • Filesystems : Affichage des points de montage et de l'espace utilisé.
  • NFS mounts : Connecter un stockage NFS distant.
  • Journaux de stockage : Journaux liés uniquement au sous-système de disque.

Réseau

Gestion des interfaces réseau de l'hôte :

  • Interfaces : Liste des cartes réseau. Ici, vous pouvez configurer les adresses IP (statique/DHCP), DNS et passerelles.
    • Add Bridge / Add Bond / Add VLAN : Boutons pour créer des ponts réseau (Bridge), l'agrégation de canaux (Bonding) et les VLAN. Il s'agit d'une section critique pour la configuration du réseau des machines virtuelles (création de br0).
  • Firewall : Gestion de base des règles du pare-feu (si firewalld est installé).
  • Journaux réseau : Journaux réseau.

Virtualisation

Machines virtuelles

Section clé pour la gestion de l'hyperviseur KVM (nécessite l'installation du plugin cockpit-machines).

  • Liste des VM : Tableau de toutes les machines virtuelles avec leur statut (En cours d'exécution, Éteint) et leurs caractéristiques brèves.
  • Créer une VM : Assistant pour créer de nouvelles machines (téléchargement ISO, création de disque).
  • Vue détaillée de la VM : Cliquer sur une machine ouvre sa fiche avec des onglets :
  • Overview : Paramètres généraux, démarrage automatique.
  • Console : Accès à l'écran de la VM (VNC/SPICE) directement dans le navigateur.
  • Disks : Ajouter/supprimer des disques virtuels.
  • Network Interfaces : Associer les adaptateurs réseau à des ponts ou au NAT.

Gestion du système

Comptes

Gestion des utilisateurs du serveur :

  • Créer de nouveaux utilisateurs.
  • Changer les mots de passe, verrouiller les comptes.
  • Configurer les clés SSH pour les utilisateurs.
  • Gérer les droits d'administrateur (sudo).

Services

Couche graphique sur systemd :

  • Services : Liste de tous les démons (services). Vous pouvez démarrer, arrêter, redémarrer et activer/désactiver le démarrage automatique des services (par exemple, libvirtd, ssh, nginx).
  • Targets / Sockets / Timers : Gérer d'autres unités systemd.

Outils

Cette section regroupe généralement des plugins supplémentaires.

  • Applications : Gestionnaire d'applications Cockpit (installer des modules supplémentaires).
  • Mises à jour logicielles : Gestion des mises à jour système (analogue à apt update / dnf update). Affiche les correctifs de sécurité disponibles et permet de les installer en un clic. Les mises à jour automatiques peuvent être activées.
  • Terminal (Terminal)

Ligne de commande complète (shell) dans le navigateur :

  • Fournit un accès au serveur en tant qu'utilisateur actuel.
  • Permet d'exécuter n'importe quelle commande virsh, htop, vim, etc. si une interface graphique est insuffisante.
  • Fonctionne via WebSockets, prend en charge le copier/coller.

Création et installation d'une VM invitée

Préparation de l'image ISO (facultatif)

Si vous prévoyez d'utiliser votre propre image ISO, téléchargez-la sur le serveur à l'avance, par exemple dans /var/lib/libvirt/images/ ou /tmp/. Si vous souhaitez utiliser le téléchargement automatique de distributions populaires via Cockpit, vous pouvez ignorer cette étape.

Création d'une nouvelle machine virtuelle

  1. Dans le menu de gauche de Cockpit, accédez à la section Virtual Machines.
  2. Cliquez sur le bouton Create VM.

  3. Dans l'assistant qui s'ouvre, définissez les paramètres :

  4. Name : spécifiez un nom unique, par exemple TestVM.
  5. Installation Type : choisissez l'une des options disponibles :
    • Download an OS : la méthode la plus simple. Sélectionnez un système d'exploitation dans la liste, et Cockpit téléchargera l'image requise.
    • Local install media : choisissez cette option si vous avez déjà téléchargé votre fichier ISO sur le serveur. Dans le champ qui apparaît, spécifiez le chemin vers le fichier (par exemple, /tmp/ubuntu-24.04.1-desktop-amd64.iso).
    • URL : permet de spécifier un lien direct vers un ISO pour le téléchargement.
  6. Operating System : lors du choix de Download an OS, la liste sera remplie automatiquement. Avec un ISO local, le système essaiera de détecter le système d'exploitation lui-même, ou vous pouvez le sélectionner manuellement dans la liste.
  7. Storage :
    • Size : spécifiez la taille du disque virtuel (par exemple, 20 GiB). Le disque sera créé automatiquement.
  8. Memory : spécifiez la quantité de RAM à allouer (par exemple, 4 GiB).
  9. Immediately start VM : laissez la coche si vous souhaitez démarrer l'installation immédiatement, ou décochez-la si vous devez modifier les paramètres (par exemple, le réseau) avant le démarrage.

  10. Si des paramètres supplémentaires sont requis (par exemple, la sélection d'un pont réseau), décochez Immediately start VM et cliquez sur Create.

Configuration supplémentaire avant l'installation

Si vous avez choisi de créer sans démarrage immédiat, une page VM s'ouvrira. Accédez à l'onglet Network Interfaces :

  1. Assurez-vous que le champ Source est défini sur :
  2. soit l'interface de pont br0, si la VM doit recevoir une IP du même réseau que l'hôte (recommandé pour l'accessibilité externe) ;
  3. soit le réseau NAT standard defaultvirbr0, si l'accès Internet de la VM sans visibilité externe directe est suffisant.
  4. Cliquez sur Add pour démarrer la VM et commencer l'installation.

Processus d'installation dans la console de la VM

  1. Dans la liste des machines virtuelles, sélectionnez la TestVM créée.
  2. Cliquez sur le bouton Install.
  3. Vous verrez l'écran d'installation du système d'exploitation dans l'onglet Console. Suivez les instructions de l'installateur (sélection de la langue, partitionnement du disque, création d'utilisateur).

Une fois l'installation terminée, la machine virtuelle redémarrera et sera prête à l'emploi.

Vérification et gestion de base de la VM

Premier démarrage et test réseau

  1. Assurez-vous que TestVM est dans l'état Running.
  2. Ouvrez la console de la VM dans Cockpit et connectez-vous avec l'utilisateur créé lors de l'installation.
  3. Dans le système d'exploitation invité, ouvrez un terminal et vérifiez les paramètres réseau :
ip addr
  • Lors de l'utilisation du pont br0, la VM doit obtenir une IP de votre réseau physique, par exemple 192.168.0.x.
  • Lors de l'utilisation du réseau NAT default, l'adresse sera généralement issue du réseau interne, par exemple 192.168.122.x.

  • Vérifiez la connectivité Internet :

ping 8.8.8.8

Opérations quotidiennes sur la VM dans Cockpit

Les actions de base sont disponibles dans la fiche de chaque machine virtuelle :

  • Run — démarrer une VM arrêtée.
  • Shut Down — arrêter proprement le système d'exploitation invité (signal ACPI).
  • Force shut down — arrêt forcé (coupure d'alimentation).
  • Reboot — redémarrer la VM.
  • Delete — supprimer la VM (avec l'option de supprimer les disques virtuels associés).

Via les onglets Disks et Network Interfaces, vous pouvez ajouter des périphériques supplémentaires.

Remarque

Des informations supplémentaires sur les fonctionnalités de Cockpit et la gestion KVM peuvent être trouvées dans la documentation officielle de Cockpit.

Commande de KVM avec gestion web via Cockpit à l'aide de l'API