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 un déploiement rapide d'infrastructures de virtualisation avec une interface web pratique, sans nécessiter l'utilisation de clients GUI séparés ou de 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 (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
450 KVM with Cockpit UI Ubuntu 22.04, Ubuntu 24.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 Cockpit : /etc/cockpit/
  • Certificats TLS Cockpit (ws-certs) : /etc/cockpit/ws-certs.d/
  • Répertoire Let's Encrypt pour le FQDN de Cockpit : /etc/letsencrypt/live/<kvm_fqdn>/
  • Logs libvirt : journalctl -u libvirtd, /var/log/libvirt/
  • Logs Cockpit : journalctl -u cockpit -u cockpit.socket

Remarque

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

Premiers pas après le déploiement

Une fois le paiement de la commande effectué, 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, l'identifiant et le mot de passe SSH, ainsi qu'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, qui peuvent être trouvées soit dans l'onglet Configuration >> Tags du panneau de gestion du serveur, soit dans l'e-mail reçu :

  • Lien pour accéder à l'interface web Cockpit : dans la balise webpanel (port 9090, HTTPS)

Accéder à l'interface web Cockpit

Connexion au panneau

  1. Ouvrez un navigateur sur votre machine locale (par exemple, Firefox sur Ubuntu).
  2. Naviguez vers une adresse telle que :
  3. https://<IP_address>:9090 — lors d'un accès par IP ;
  4. https://<kvm_fqdn>:9090 — lors d'un accès par nom de domaine via 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, saisissez le nom d'utilisateur et le mot de passe du serveur (généralement le compte fourni par e-mail ou créé par l'administrateur).

  1. Après la connexion, la page d'accueil de Cockpit s'ouvre avec les métriques 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, en haut de l'interface, cliquer sur le bouton Turn on administrative access pour accorder temporairement à la session des privilèges d'administrateur (sudo) sans saisie constante du mot de passe.

Une fois l'accès administratif activé, 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 sur la 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 (« Dashboard ») affiche un résumé de l'état de santé du système :

  • Health : État du système (erreurs, avertissements).
  • Usage : Graphiques d'utilisation des ressources en temps réel (CPU, RAM, Disk I/O, Network).
  • System information : Informations matérielles, nom d'hôte, temps d'activité (uptime), version de l'OS.
  • Configuration : Accès rapide pour modifier le nom d'hôte, l'heure, rejoindre un domaine et les profils de performance.

Logs

Interface pour la consultation des journaux système (similaire à journalctl) :

  • Permet de filtrer les logs par date, par sévérité (Errors, Warnings, Notice) et par services.
  • Pratique pour diagnostiquer les erreurs de démarrage des VM ou les problèmes réseau sans utiliser la console.

Storage

Gestion du sous-système de stockage :

  • Drives : Liste des disques physiques. Vous pouvez créer tables de partition et formater les disques.
  • Filesystems : Visualisation des points de montage et de l'espace utilisé.
  • NFS mounts : Connexion de stockages NFS distants.
  • Storage logs : Journaux relatifs uniquement au sous-système de disque.

Networking

Gestion de l'interface réseau de l'hôte :

  • Interfaces : Liste des cartes réseau. Vous pouvez y configurer les adresses IP (statiques/DHCP), le DNS et les passerelles.
    • Add Bridge / Add Bond / Add VLAN : Boutons pour créer des ponts réseau (Bridge), l'agrégation de liens (Bonding) et les VLAN. Cette section est cruciale pour la configuration du réseau des machines virtuelles (création de br0).
  • Firewall : Gestion de base des règles de pare-feu (si firewalld est installé).
  • Network logs : Journaux réseau.

Virtualisation

Machines virtuelles

Section clé pour la gestion de l'hyperviseur KVM (nécessite que le plugin cockpit-machines soit installé).

  • VM List : Tableau de toutes les machines virtuelles avec leur statut (Running, Shut off) et leurs caractéristiques principales.
  • Create VM : Assistant pour la création de nouvelles machines (téléchargement d'ISO, création de disque).
  • Vue détaillée de la VM : Cliquer sur une machine ouvre sa fiche avec les onglets suivants :
  • 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 : Lier les adaptateurs réseau aux ponts (bridges) 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 au-dessus de 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 (ex: libvirtd, ssh, nginx).
  • Targets / Sockets / Timers : Gérer les autres unités systemd.

Outils

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

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

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

  • Fournit un accès au serveur en tant qu'utilisateur actuel.
  • Permet d'exécuter toutes les commandes virsh, htop, vim, etc. si une interface graphique est insuffisante.
  • Fonctionne via websockets, supporte le copier-coller.

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

Préparation de l'image ISO (Optionnel)

Si vous prévoyez d'utiliser votre propre image ISO, téléchargez-la sur le serveur au préalable, 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 Cockpit à gauche, allez dans la section Virtual Machines.
  2. Cliquez sur le bouton Create VM.

  3. Dans l'assistant qui s'ouvre, configurez 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 OS 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 automatiquement renseignée. Avec un ISO local, le système tentera de détecter l'OS lui-même, ou vous pourrez 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 case cochée si vous souhaitez lancer l'installation immédiatement, ou décochez-la si vous devez modifier des paramètres (par exemple, le réseau) avant de démarrer.

  10. Si des paramètres supplémentaires sont nécessaires (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 la VM sans démarrage immédiat, une page dédiée à la VM s'ouvrira. Allez sur l'onglet Network Interfaces :

  1. Assurez-vous que le champ Source est configuré 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 un accès Internet pour 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 de l'OS 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 à 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 proviendra généralement du réseau interne, par exemple 192.168.122.x.

  • Vérifiez la connectivité Internet :

ping 8.8.8.8

Opérations quotidiennes de la VM dans Cockpit

Des actions de base sont disponibles dans la carte 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 de courant).
  • 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 de KVM sont disponibles dans la documentation officielle de Cockpit.

Commande de KVM avec gestion web via Cockpit en utilisant l'API

Pour installer ce logiciel via l'API, suivez ces instructions.