Au cours de la dernière décennie, la communauté open source a connu une évolution constante vers la conteneurisation comme moyen privilégié de déploiement d’applications grâce aux nombreux avantages qu’elle offre tels que la portabilité, la flexibilité, une sécurité accrue et une gestion plus facile des applications. Les technologies de conteneurisation populaires incluent Docker, Podman, et LXD.
Écrit en langue Go, LXD (prononcé comme Lekseed) est décrit comme le gestionnaire de conteneurs système et de machines virtuelles de nouvelle génération qui vous permet de gérer vos conteneurs et machines virtuelles à partir de la ligne de commande, ou en tirant parti d’un API REST ou d’autres outils tiers. LXD est un projet open source et est une extension de LXC (Conteneurs Linux) qui est la technologie de virtualisation au niveau du système d’exploitation.
LXC est entré en scène vers 2008, et LXD a été lancé 7 ans plus tard en 2015 avec les mêmes blocs de construction que LXC. LXD est venu pour rendre les conteneurs plus conviviaux et faciles à gérer.
Étant une extension de LXC, LXD fournit des fonctionnalités avancées telles que les instantanés et la migration en direct. Il fournit également un démon qui vous permet de gérer facilement les conteneurs et les machines virtuelles. Il n’est pas destiné à supplanter LXC, il vise plutôt à améliorer la convivialité et la manipulation des conteneurs à base de LXC
Dans ce guide, nous montrerons comment vous pouvez créer et gérer LXC conteneurs utilisant LXD au Debian/Ubuntu.
Étape 1 : Installez LXD sur Ubuntu
La première étape consiste à installer LXD. Il y a deux façons de le faire, vous pouvez installer à partir du référentiel d’Ubuntu à l’aide du gestionnaire de packages APT ou vous pouvez utiliser snap.
Utilisant APTE, commencez par mettre à jour le système :
$ sudo apt update
Installez ensuite le LXD hyperviseur de conteneur système comme suit.
$ sudo apt install lxd
Utilisant se casser, vous pouvez installer la dernière version de LXD.
$ sudo snap install lxd
De plus, vous pouvez installer la dernière version LTS qui est LXD 4.0 comme suit:
$ sudo snap install lxd --channel=4.0/stable
Vous pouvez vérifier la version de LXD installé comme indiqué :
$ lxd --version
Si vous aviez l’habitude de se casser, vous pouvez vérifier que le LXD Le package snap a été installé comme indiqué :
$ snap list
Étape 2 : Initialisation du service LXD
Pour initialiser ou démarrer le LXD hyperviseur de conteneur, exécutez la commande :
$ sudo lxd init
La commande vous présente un ensemble de questions sur la façon de configurer LXD. Les valeurs par défaut fonctionnent très bien, cependant, vous êtes libre de spécifier vos propres paramètres selon vos besoins.
Dans cet exemple, nous avons créé un pool de stockage appelé tecmint_pool avec le ZFS système de fichiers et gestionnaire de volumes. Pour le reste des questions, nous avons choisi d’utiliser les options par défaut. Un moyen simple d’accepter la sélection par défaut est d’appuyer sur le bouton ENTRÉE de votre clavier.
Confirmez les informations fournies en exécutant la commande :
$ sudo lxc profile show default
Vous pouvez le réduire davantage au pool de stockage créé. Les commandes ci-dessous affichent les détails des pools de stockage actuels.
$ sudo lxc storage list $ sudo lxc storage show tecmint_pool
Vous pouvez également afficher des informations sur l’interface réseau utilisée en LXD, dans ce cas, lxdbr0, qui est la sélection par défaut.
$ sudo lxc network show lxdbr0
Étape 3 : Création de conteneurs LXD dans Ubuntu
Passons maintenant à la vitesse supérieure et créons des conteneurs Linux. Vous pouvez répertorier tous les conteneurs prédéfinis disponibles au téléchargement à l’aide de la commande :
$ sudo lxc image list images:
Cela remplit une énorme liste de tous les conteneurs dans divers systèmes d’exploitation tels que Ubuntu, CentOS, Debian et AlmaLinux, pour n’en citer que quelques-uns.
Vous pouvez le réduire à une distribution spécifique comme suit :
$ sudo lxc image list images: | grep -i centos $ sudo lxc image list images: | grep -i debian
Dans cet exemple, nous listons les conteneurs disponibles.
$ sudo lxc image list images: | grep -i ubuntu
Maintenant, nous allons créer notre premier conteneur. La syntaxe pour créer un conteneur est la suivante :
$ sudo lxc launch images:{distro}/{version}/{arch} {container-name}
Nous allons maintenant créer deux conteneurs à partir de Ubuntu 20 et Debian 10 respectivement:
$ sudo lxc launch images:ubuntu/focal tecmint-con1 $ sudo lxc launch images:debian/10 tecmint-con2
Dans les exemples ci-dessus, nous avons créé deux conteneurs : tecmint-con1 et tecmint-con2.
Pour répertorier les conteneurs créés, exécutez la commande :
$ sudo lxc list
À partir de la sortie, nous pouvons voir nos deux conteneurs répertoriés.
Pour obtenir un accès shell à un LXC conteneur, exécutez la commande :
$ sudo lxc exec tecmint-con1 bash
Une fois que vous avez obtenu l’accès shell, notez que l’invite change pour indiquer que vous exécutez en tant qu’utilisateur root.
Pour quitter le conteneur, exécutez la commande :
$ exit
Étape 4 : Gestion des conteneurs LXD dans Ubuntu
Voyons maintenant quelques-unes des commandes que vous pouvez utiliser pour gérer LXD conteneurs.
Pour répertorier tous les conteneurs en cours d’exécution, exécutez la commande :
$ sudo lxc list
Pour afficher des informations détaillées sur un LXC conteneur, utilisez la syntaxe :
$ sudo lxc info container-name
Cela vous fournira des informations telles que le nom du conteneur, l’architecture, la date de création, l’état des interfaces réseau, la bande passante, le processeur, la mémoire et l’utilisation du disque pour ne citer que quelques métriques.
Pour arrêter un LXC conteneur, utilisez la syntaxe :
$ sudo lxc stop container-name
Par exemple, pour arrêter le conteneur tecmint-con1, exécutez la commande :
$ sudo lxc stop tecmint-con1
Encore une fois, répertoriez les conteneurs pour confirmer que le conteneur a été arrêté.
$ sudo lxc list
Vous pouvez également répertorier les conteneurs en cours d’exécution ou arrêtés comme suit :
$ sudo lxc list | grep -i STOPPED $ sudo lxc list | grep -i RUNNING
Pour démarrer un LXC conteneur, utilisez la syntaxe :
$ sudo lxc start container-name
Par exemple, pour démarrer le conteneur tecmint-con1 exécutez la commande :
$ sudo lxc start tecmint-con1
Vous pouvez démarrer ou arrêter les conteneurs en les contournant dans une commande séparée par un espace en utilisant la syntaxe suivante :
$ sudo lxc stop container1 container2 $ sudo lxc start container1 container2
Par exemple, pour arrêter tous les conteneurs, exécutez :
$ sudo lxc stop tecmint-con1 tecmint-con2
Pour redémarrer un LXC conteneur, utilisez la syntaxe :
$ sudo lxc restart container-name
Par exemple, pour redémarrer le conteneur tecmint-con1 exécutez la commande :
$ sudo lxc restart tecmint-con1
Vous pouvez également transmettre plusieurs conteneurs en une seule commande :
$ sudo lxc start container1 container2
Par exemple, pour redémarrer tous les conteneurs, exécutez :
$ sudo lxc restart tecmint-con1 tecmint-con2
Pour supprimer un LXC conteneur, arrêtez-le d’abord, puis supprimez-le. Par exemple, pour supprimer le conteneur tecmint-con2, exécutez la commande :
$ sudo lxc stop tecmint-con2 $ sudo lxc delete tecmint-con2
Ce guide vous a fourni une base solide sur LXD conteneurs et comment vous pouvez lancer, créer et gérer des conteneurs. Nous espérons que vous pourrez désormais lancer et gérer confortablement vos conteneurs sans trop de difficultés.
.