Aller au contenu

KVM avec gestion web via Cockpit

Dans cet article

Information

KVM with web management 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'une infrastructure 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 (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.

Démarrage 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 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 pour le serveur sélectionné, les paramètres techniques et les liens de service sont disponibles.

Les données d'autorisation, qui peuvent se trouver soit dans l'onglet Configuration* >> **Tags du panneau de gestion du serveur, soit dans le message envoyé par e-mail :

  • Lien pour accéder à 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 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 l'identifiant 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 cliquer sur le bouton Turn on administrative access en haut de l'interface pour accorder temporairement les privilèges d'administrateur (sudo) à la session sans saisies constantes 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 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 du système :

  • État : État du système (erreurs, avertissements).
  • Utilisation : 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 (uptime), version de l'OS.
  • Configuration : Accès rapide pour changer le nom d'hôte, l'heure, rejoindre un domaine et les profils de performance.

Journaux

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

  • Permet de filtrer les logs par date, sévérité (Errors, Warnings, Notice) 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 stockage :

  • Disques : Liste des disques physiques. Vous pouvez créer des tables de partitionnement, formater des disques.
  • Systèmes de fichiers : Visualisation des points de montage et de l'espace utilisé.
  • Montages NFS : Connexion de stockages NFS distants.
  • Journaux de stockage : Journaux relatifs uniquement au sous-système de disque.

Réseau

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

  • Interfaces : Liste des cartes réseau. Ici, vous pouvez 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), de l'agrégation de liens (Bonding) et des VLAN. Ceci est une section 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é).

  • Liste des VM : Tableau de toutes les machines virtuelles avec leur statut (Running, Shut off) et leurs caractéristiques sommaires.
  • Créer une 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 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.
  • Network Interfaces : Lier 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 au-dessus de systemd :

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

Outils

Cette section regroupe généralement des plugins additionnels.

  • Applications : Gestionnaire d'applications Cockpit (installer des modules supplémentaires).
  • Software Updates : La 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 clic. Les mises à jour automatiques peuvent être activées.
  • Terminal (Terminal)

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

  • Fournit l'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 machine virtuelle 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 à l'avance, par exemple dans /var/lib/libvirt/images/ ou /tmp/. Si vous souhaitez utiliser le téléchargement automatique des 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, réglez les paramètres :

  4. Name : spécifiez un nom unique, ex: 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 ceci 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 (ex: /tmp/ubuntu-24.04.1-desktop-amd64.iso).
    • URL : permet de spécifier un lien direct vers une ISO pour le téléchargement.
  6. Operating System : lors du choix de Download an OS, la liste sera automatiquement remplie. Avec une ISO locale, 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 (ex: 20 GiB). Le disque sera créé automatiquement.
  8. Memory : spécifiez la quantité de RAM à allouer (ex: 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 (ex: réseau) avant de démarrer.

  10. Si des paramètres supplémentaires sont requis (ex: 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 pour la VM s'ouvrira. Allez dans l'onglet Network Interfaces :

  1. Assurez-vous que le champ Source est réglé 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 à être utilisée.

Vérification et gestion de base des 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. À l'intérieur du système d'exploitation invité, ouvrez un terminal et vérifiez les paramètres réseau :
ip addr
  • En utilisant le pont br0, la VM devrait obtenir une IP de votre réseau physique, ex: 192.168.0.x.
  • En utilisant le réseau NAT default, l'adresse sera typiquement issue du réseau interne, ex: 192.168.122.x.

  • Vérifiez la connectivité Internet :

ping 8.8.8.8

Opérations quotidiennes des VM dans Cockpit

Des actions de base sont disponibles sur la fiche de chaque machine virtuelle :

  • Run — démarre une VM arrêtée.
  • Shut Down — éteint proprement le système d'exploitation invité (signal ACPI).
  • Force shut down — extinction forcée (coupure de courant).
  • Reboot — redémarre la VM.
  • Delete — supprime 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 peuvent être trouvées dans la documentation officielle de Cockpit.

Commander KVM avec gestion web via Cockpit via l'API

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