Aller au contenu principal

Modèles de VM

Les modèles de VM servent dans OpenVLE de base pour la création de machines virtuelles.
Ils contiennent un environnement système préinstallé avec tous les outils et services nécessaires et sont généralement utilisés dans le cadre d'environnements ou d'événements.
Grâce aux modèles, de nouvelles VM peuvent être déployées rapidement et de manière cohérente.


Où trouver cette section ?

Navigation :
Via le menu principal : Modèles de VM
Également accessible via : Accessible via les machines virtuelles ou les connexions

Aperçu des fonctionnalités

  • Afficher, créer, modifier et supprimer des modèles de VM
  • Importer des templates existants depuis Proxmox VE
  • Associer des modèles à des systèmes d'exploitation et des applications
  • Définir des paramètres techniques comme le CPU, la RAM et la taille du disque
  • Attribuer des métadonnées (tags) et des descriptions pour une meilleure organisation

Aperçu des champs importants

Nom du champDescription
CPUNombre de vCPU que les VM basées sur ce modèle recevront. La valeur détermine la puissance de calcul de chaque machine créée.
DescriptionChamp de texte libre pour la documentation ou les commentaires sur le modèle de VM. Prend en charge la syntaxe Markdown (par ex. pour les listes ou les mises en évidence).
Infos Proxmox VEAttributions internes au système vers Proxmox VE, composées du **VMID** (identifiant unique sur l'hôte) et du **nom du noeud** (système hôte au sein du cluster). Ces champs sont gérés automatiquement et sont en lecture seule.
Mémoire viveMémoire vive (RAM) en gigaoctets attribuée aux nouvelles VM. Influence directement les performances des machines.
NomNom du modèle de VM. Affiché dans l'ensemble de l'interface et doit être choisi de manière unique et explicite, par ex. "Debian12-Base" ou "Windows10-Formation".
Système d'exploitationLe système d'exploitation sous-jacent du modèle. Celui-ci est utilisé pour la configuration automatique et le filtrage dans le système.

Importer un modèle de VM

Les modèles de VM déjà présents sur le serveur Proxmox VE peuvent être importés dans OpenVLE. Cela permet de réutiliser directement les modèles existants au sein d'OpenVLE.
Pour cela, il faut indiquer le VMID Proxmox du modèle souhaité sous Modèles de VM -> Importer.

Ensuite, les informations du modèle sont automatiquement chargées depuis le serveur Proxmox VE.
Ces données importées peuvent être ajustées si nécessaire -- un ajustement n'est toutefois généralement pas nécessaire, sauf pour le champ "Système d'exploitation".
Comme le serveur Proxmox VE ne peut pas lire cette information de manière exacte, elle doit être indiquée manuellement une seule fois.

info

OpenVLE ne peut lire que les modèles de VM du serveur Proxmox VE pour lesquels le token API OpenVLE dispose des permissions correspondantes dans le cluster Proxmox VE.
Si les permissions du token API ont été configurées conformément à la documentation, OpenVLE ne peut voir que les modèles de VM (et les VM) au sein du pool Proxmox associé.
Il est donc impératif d'attribuer les modèles de VM à ce pool dans le serveur Proxmox VE.
Dans le cas contraire, l'importation entraîne une erreur "Modèle de VM introuvable".


Créer un modèle de VM

attention

La VM qui doit servir de base au modèle de VM doit être éteinte. Seules les VM éteintes peuvent être copiées en modèle de VM. Arrêtez la VM au préalable via OpenVLE si nécessaire.

  1. Ouvrez la section Modèles de VM dans le menu principal.
  2. Cliquez sur Ajouter pour créer un nouveau modèle de VM.
  3. Sélectionnez la VM souhaitée comme base.
  4. Saisissez un nom pour le modèle de VM.
  5. Les autres champs sont automatiquement préremplis sur la base de la VM choisie. Ils peuvent être ajustés si nécessaire.
  6. Enregistrez le modèle de VM.
  7. Le modèle de VM est maintenant créé automatiquement en arrière-plan.
  8. Utilisez ce modèle de VM pour créer de nouvelles machines virtuelles ou préparer des événements.
info

Lors de la création d'un modèle de VM, les associations suivantes sont automatiquement créées ou héritées :

  • Applications ↔ VM : Toutes les applications assignées à la VM sont automatiquement assignées au nouveau modèle de VM.
  • Modèles de connexion ↔ VM : Tous les modèles de connexion de la VM sont copiés et assignés au modèle de VM.

Modifier un modèle de VM

  1. Ouvrez la section Modèles de VM dans le menu principal.
  2. Recherchez le modèle de VM souhaité dans la liste.
  3. Cliquez sur Modifier ou ouvrez le menu contextuel du modèle de VM et sélectionnez Modifier.
  4. Le formulaire affiche toutes les données actuelles du modèle de VM.
  5. Ajustez les champs souhaités, par ex. le nom, la description, le CPU, la mémoire vive ou le système d'exploitation.
  6. Enregistrez les modifications.
  7. La mise à jour est appliquée en arrière-plan.
remarque

Les modifications des modèles de VM n'affectent pas les VM déjà créées.


Supprimer un modèle de VM

  1. Ouvrez la section Modèles de VM dans le menu principal.
  2. Recherchez le modèle de VM souhaité dans la liste.
  3. Cliquez sur Supprimer ou ouvrez le menu contextuel du modèle de VM et sélectionnez Supprimer.
  4. Confirmez la suppression dans la boîte de dialogue affichée.
  5. Le modèle de VM est alors définitivement supprimé.
  6. Une fois le processus terminé, le modèle de VM disparaît de la vue d'ensemble.
danger

Lors de la suppression d'un modèle de VM, tous les modèles de connexion associés sont automatiquement supprimés.
Cette opération ne peut pas être annulée.


Exigences pour les modèles de VM

Pour qu'OpenVLE puisse communiquer correctement avec les différentes machines virtuelles, certaines conditions préalables doivent être remplies lors de la création des modèles de VM.

Pour tous les modèles, quel que soit le système d'exploitation :

  • Qemu Guest Agent doit être installé et activé (dans la VM et sur l'hôte PVE).
  • Cloud-Init doit être installé et activé pour qu'OpenVLE puisse contrôler les automatisations telles que les connexions et les configurations réseau.
astuce

La plupart des exigences ne doivent être mises en oeuvre qu'une seule fois pour le modèle maître respectif par système d'exploitation.
Toutes les VM ou modèles ultérieurs basés sur celui-ci reprennent automatiquement les paramètres.

attention

Les étapes suivantes ne sont pas encore entièrement documentées.
Les instructions pour Linux sont largement testées, tandis que la configuration Windows est encore en cours d'extension.


Configuration initiale

Ces étapes ne doivent être effectuées qu'une seule fois par système d'exploitation et modèle maître :

sudo apt update
sudo apt install qemu-guest-agent cloud-init

Préparation avant la conversion

Ces étapes doivent être effectuées à chaque fois avant qu'une VM ne soit convertie en modèle :

su root
rm -rf /etc/cloud/cloud-init.disabled /tmp/* /var/tmp/*
apt clean && apt autoclean
cloud-init clean
truncate -s 0 /etc/machine-id /var/lib/dbus/machine-id
find /var/log -type f -exec truncate -s 0 {} \;
find /var/log -type f -regex ".*\.log\.[0-9]*\(\.gz\)?$" -delete
find /var/log -type f -name "*.log.*.gz" -delete
find / -name *.bash_history -exec rm -f {} \;
find / -name *.sh_history -exec rm -f {} \;
find / -name *.zsh_history -exec rm -f {} \;
find / -name known_hosts -exec rm -f {} \;
history -c

Après avoir terminé ces étapes, la VM peut être arrêtée et convertie en modèle de VM.


Exemple ou cas d'utilisation

Exemple : Créer un modèle maître pour Debian

Un administrateur système souhaite créer un nouveau modèle Debian pour les environnements de formation. Cette personne installe dans la VM le Qemu Guest Agent et Cloud-Init, exécute les commandes de nettoyage puis convertit la machine en modèle. Ensuite, ce modèle peut être utilisé dans OpenVLE pour déployer rapidement de nouvelles VM pour des événements ou des tests.


Remarques / Particularités

  • Les modèles de VM constituent la base de toutes les machines virtuelles créées automatiquement dans OpenVLE.
    Les modifications d'un modèle de VM n'affectent pas rétroactivement les VM déjà créées.

  • Lors de la création ou de l'importation d'un modèle de VM, une tâche est lancée en arrière-plan.
    Vous pouvez suivre la progression et les éventuels messages d'erreur dans la section Système -> Tâches.

  • Un modèle de VM ne peut être importé ou créé avec succès que si le Qemu Guest Agent et Cloud-Init sont correctement configurés au sein du système.

  • Lorsqu'un modèle de VM est supprimé, tous les modèles de connexion associés sont automatiquement supprimés.
    Cette opération ne peut pas être annulée.

  • Les modèles de VM importés sont automatiquement associés aux informations Proxmox VE correspondantes (noeud, VMID).
    Ces champs sont en lecture seule et servent à la synchronisation avec le cluster.

  • Les modifications du CPU, de la RAM ou du système d'exploitation ne prennent effet que sur les nouvelles machines virtuelles créées à partir du modèle de VM mis à jour.

  • Les modèles de VM qui se trouvent dans Proxmox VE en dehors du pool attribué au token API OpenVLE ne peuvent pas être importés.
    Assurez-vous donc que tous les modèles pertinents sont correctement attribués.

  • Pour une gestion uniforme, il est recommandé de maintenir un modèle maître par système d'exploitation, régulièrement mis à jour (par ex. avec des correctifs de sécurité ou des mises à jour logicielles).
    De nouveaux modèles de VM peuvent ensuite être dérivés de ce modèle maître.

  • Lors de la conversion d'une VM en modèle de VM, il est recommandé d'exécuter au préalable un script de nettoyage (voir la section Préparation avant la conversion) pour supprimer les identifiants machine, les fichiers journaux et les clés SSH.

  • L'affichage des modèles de VM se met à jour automatiquement de manière régulière tant que la section est ouverte.


Relations avec d'autres objets

De nombreux objets dans OpenVLE sont liés à d'autres éléments du système. L'aperçu suivant montre quelles relations existent et si elles déclenchent certaines automatisations.

ObjetDescriptionComportement automatique
ApplicationsUn nombre illimité d'applications peut être attribué à un modèle de VM.Aucune automatisation.
ChangelogsToutes les modifications de l'objet sont automatiquement enregistrées.Suppression automatique lors de la suppression de l'objet.
Modèles de connexionUn nombre illimité de modèles de connexion peut être attribué à un modèle de VM.Suppression automatique lors de la suppression du modèle de VM.
PermissionsLes permissions spécifiques à l'objet peuvent être attribuées directement à l'objet.Suppression automatique lors de la suppression de l'objet.
Système d'exploitationExactement un système d'exploitation peut être attribué à un modèle de VM.Aucune automatisation.
TagsLes objets peuvent être marqués avec un nombre quelconque de tags pour les catégoriser ou les filtrer.Suppression automatique lors de la suppression de l'objet.
TasksTâches internes au système, automatiquement créées et surveillées lors d'actions (par ex. démarrage, arrêt ou clonage).Création automatique pour certains processus ou actions.

Permissions requises

Les permissions requises pour les actions peuvent être attribuées via des rôles ou individuellement. Si certains droits vous manquent, les fonctions correspondantes dans l'interface utilisateur sont masquées ou désactivées.

ActionPermission requiseCheminInformations supplémentaires
Afficher les modèles de VMtemplates_read/ ou /<objectID>
Créer des modèles de VMtemplates_create/
Modifier des modèles de VMtemplates_update/ ou /<objectID>
Supprimer des modèles de VMtemplates_delete/ ou /<objectID>
Afficher les machines virtuellesvms_read/
info
Les permissions *_read, *_update et *_delete peuvent être définies sur un chemin spécifique, c'est-à-dire sur l'UUID d'un objet.
Exemple : /4a3bc312-d1af-4b3f-b222-f5e9cecbf007 L'utilisateur n'a alors accès qu'à cet unique objet.
Si le chemin / est utilisé, la permission s'applique globalement à tous les objets de ce type.
Pour les permissions *_create, seul le chemin global / est autorisé.