LXD¶
Dans cet article
Remarque
LXD est un outil de gestion de système open-source moderne pour les conteneurs système et les machines virtuelles, développé par Canonical (les créateurs d'Ubuntu).
LXD. Fonctionnalités principales¶
- Conteneurs système par rapport aux conteneurs d'application - Contrairement à Docker, qui se concentre sur la livraison d'applications individuelles, LXD gère des systèmes complets — les conteneurs LXD contiennent un système d'exploitation Linux complet avec tous ses composants (init, services système, etc.)
- Basé sur LXC - LXD est une surcouche de haut niveau sur la bibliothèque LXC (Linux Containers), fournissant une interface en ligne de commande pratique, une puissante API REST et une gestion simplifiée. Si LXC est un outil de bas niveau, LXD est un « super-gestionnaire » pour les conteneurs.
- Interface unifiée pour les conteneurs et les VM - Les versions modernes de LXD (à partir de 4.0+) prennent en charge la gestion à la fois des conteneurs système et des machines virtuelles complètes via une seule interface.
- Limites de ressources flexibles (CPU, mémoire, réseau, disque)
- Prise en charge avancée des instantanés avec planification
- Migration de conteneurs entre hôtes
- Prise en charge de la gestion en cluster et distribuée
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 509 | LXD | Ubuntu 22.04 | + | + | + | - | 2 | 4 | 20 | Non | COMMANDER |
- Installation possible sur Ubuntu 20/22 ;
- Temps d'installation de 15 à 20 minutes, système d'exploitation inclus ;
Pour un fonctionnement correct de LXD, les ressources système minimales suivantes sont requises :
- Processeur : au moins 1 cœur CPU ;
- Mémoire : au moins 2 Go de RAM ;
- Espace disque : au moins 20 Go SSD/HDD recommandés :
Remarque
Sauf indication contraire, nous installons par défaut la dernière version de sortie du logiciel depuis le site Web du développeur ou les dépôts du système d'exploitation.
Premiers pas après le déploiement de LXD¶
Après le paiement de la commande, une notification sera envoyée à l'adresse e-mail fournie lors de l'inscription indiquant que le serveur est prêt. Elle contiendra l'adresse IP du VPS, ainsi que le nom d'utilisateur et le mot de passe pour l'accès.
La gestion du matériel pour nos clients est effectuée via le panneau de contrôle du serveur et l'API — Invapi.
Les données d'autorisation peuvent être trouvées soit dans l'onglet Configuration >> Tags du panneau de contrôle du serveur, soit dans l'e-mail qui vous a été envoyé :
-
Lien vers l'interface Web du panneau de contrôle LXD : dans la balise webpanel ;
-
Pour vous authentifier dans l'interface Web, accédez à un lien comme -
https://lxd<ID_server>.hostkey.in

-
Dans la fenêtre ouverte, vous devez d'abord cliquer sur le bouton Generate certificate pour générer un certificat individuel et assurer un fonctionnement correct.
-
Vous pouvez générer un certificat protégé par mot de passe ou non protégé (pour macOS, la protection par mot de passe est obligatoire)

Activez la protection par mot de passe et cliquez sur le bouton Generate and download.
-
Ensuite, suivez les instructions dans la fenêtre principale. Ajoutez le certificat à vos paramètres de navigateur et redémarrez-le.
-
L'étape suivante consiste à générer un jeton de confiance

- Connectez-vous au serveur via SSH en utilisant les identifiants de l'e-mail.
- Exécutez la commande
- Copiez la sortie de la commande dans le champ Paste the trust token below

- Cliquez sur le bouton Connect
Vous serez redirigé vers l'écran principal et pourrez commencer à travailler avec LXD.
Éléments principaux du menu du panneau LXD¶
Instances¶
Le menu est utilisé pour gérer les conteneurs et les machines virtuelles — création, démarrage, redémarrage et arrêt des instances.
Des instructions détaillées pour créer une instance peuvent être trouvées dans la documentation du développeur, fournies dans ce menu lors du premier accès.

Profiles¶
Le menu est utilisé pour stocker un ensemble d'options de configuration. Cela permet d'appliquer des profils aux instances au lieu de configurer manuellement chaque paramètre. Chaque profil contient des options d'instance, des options de périphérique et des paramètres de périphérique.

Networking¶
Le menu est utilisé pour gérer les ponts réseau et les interfaces, permettant la configuration de DHCP et DNS pour les réseaux. Le sous-menu Network ACL est utilisé pour gérer les listes de contrôle d'accès pour les réseaux.

Storage¶
Le menu est utilisé pour gérer le système de stockage des données de conteneurs et de VM. Il est divisé en sous-catégories : - Pools – vous pouvez créer de nouveaux pools (basés sur ZFS, Btrfs, LVM, dir, etc.), configurer leurs paramètres et afficher l'utilisation de l'espace. - Volumes – gérer les volumes (racine et personnalisés). - Custom ISOs – utilisé pour stocker des images personnalisées. - Bucket – stockage d'objets compatible S3 pour stocker des fichiers.
Images¶
Le menu permet de gérer les images de base pour la création d'instances, avec prise en charge de la mise en cache des images depuis des dépôts distants (local:, images:, ubuntu:).
Configuration¶
Le menu permet de configurer le serveur LXD au niveau de l'hôte, de gérer les certificats et les limites de ressources.

Server¶
Ce menu affiche des informations sur le matériel système (CPU, GPU, mémoire, ports) et l'état du serveur, ainsi que des informations sur le cluster (si le clustering est présent).

Operations¶
Le menu est utilisé pour suivre les opérations en cours. Toute opération qui peut prendre plus d'une seconde (création d'un conteneur, migration, création d'un instantané, sauvegarde) est effectuée en arrière-plan. LXD renvoie immédiatement l'ID d'opération au client, tandis que la tâche continue de s'exécuter sur le serveur.
Warnings¶
Le menu affiche les avertissements et erreurs système, permettant une surveillance continue de l'état du serveur LXD.

Permissions¶
Le menu est destiné à la gestion des autorisations. Il permet de créer des groupes d'utilisateurs et de processus pour attribuer des droits et des autorisations. Cette section gère également l'administration.
Settings¶
Le menu est utilisé pour gérer les paramètres globaux du serveur et la configuration de l'interface Web elle-même. Il est divisé en plusieurs sous-catégories (acme, core, cluster, etc.).

Remarque
- Cette section n'est pas destinée à la configuration de conteneurs ou de VM individuels — pour cela, utilisez les sections correspondantes lors de l'édition d'une instance.
- Toutes les modifications apportées via l'interface Web sont équivalentes aux commandes
lxc config setdans l'interface en ligne de commande.
Remarque
Des informations supplémentaires sur les capacités de LXD peuvent être trouvées dans la documentation officielle de LXD.