LXD est décrit comme le gestionnaire de conteneurs et de machines virtuelles de nouvelle génération qui offre une immersion pour les systèmes Linux exécutés à l’intérieur de conteneurs ou en tant que machines virtuelles.

Il fournit des images pour un nombre excessif de distributions Linux avec la prise en charge d’une large sélection de backends de stockage et de types de réseaux. Il offre également la possibilité d’installer les images sur un PC/ordinateur portable individuel et même sur une instance cloud.

LXD vous permet de gérer les conteneurs et les machines virtuelles de trois manières. Vous pouvez tirer parti de client lxc ou un outil en ligne de commande, une API REST ou même des intégrations tierces.

Fonctionnalités LXD

Notable LXD les fonctionnalités incluent:

  • LXD est basé sur des images avec des images pour une large sélection de distributions Linux.
  • Il est construit avec la sécurité comme une priorité absolue.
  • Il fournit une API REST et un outil de ligne de commande lxc pour interagir avec les conteneurs.
  • Il prend en charge une large gamme de backends de stockage, de volumes de stockage et de pools de stockage.
  • La gestion du réseau passe par la création de réseaux de ponts et de tunnels inter-hôtes.
  • Contrôle avancé des ressources telles que le processeur, la RAM, l’utilisation du disque, les blocs d’E/S et les ressources du noyau.
  • Flexible et évolutif – Vous pouvez déployer des conteneurs sur votre PC et configurer un cluster qui peut agréger des milliers de conteneurs sur différents nœuds.

Qu’est-ce que LXC ?

A ne pas confondre avec le lxc outil client en ligne de commande fourni par LXD, LXC (Conteneur Linux) est une technologie de virtualisation populaire au niveau du système d’exploitation qui utilise une API puissante et d’autres outils pour permettre aux utilisateurs de créer et de gérer de manière transparente des conteneurs et des machines virtuelles sur un seul hôte. Il comprend des modèles, un langage d’outils et des liaisons de bibliothèque.

Publicité

Fonctionnalités LXC

LXC exploite les fonctionnalités du noyau suivantes pour gérer les processus :

  • Espaces de noms du noyau : pid, mount, uts network et user.
  • CGroups (groupes de contrôle).
  • Chroots – Utilisation de pivot_root.
  • Politiques de Seccomp.
  • Profils SELinux et Apparmor.

Linuxcontainers.org est le projet parapluie derrière les deux LXD et LXC. Son objectif est d’offrir une plate-forme de distribution et de fournisseur neutre pour les technologies de conteneur Linux.

Avec cette introduction à l’écart, nous allons maintenant montrer comment créer et gérer LXC conteneurs sur les distributions Linux basées sur RHEL telles que CentOS, Rocky Linux, et AlmaLinux.

Exigences

Un système d’exploitation Linux fonctionnel avec une installation minimale :

Étape 1 : définissez SELinux en mode permissif

D’emblée, nous allons commencer par configurer SELinux et le définir sur permissif. Mais avant de le faire, mettons à jour les packages système comme suit :

$ sudo dnf update

Mettre en place SELinux pour permissif, exécutez la commande :

$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Pour que cela prenne effet, redémarrez votre serveur.

$ sudo reboot

Et confirmer le statut de SELinux.

$ getenforce
Vérifier Le Mode Selinux
Vérifier Le Mode Selinux

Étape 2 : Installer le référentiel EPEL

EPEL est un référentiel du Projet Fedora qui fournit un ensemble de packages de haute qualité pour RedHat Enterprise Linux et d’autres distributions basées sur RHEL.

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OR
$ sudo yum install epel-release
Installer Le Référentiel Epel
Installer Le Référentiel Epel

Étape 3 : ajouter les paramètres du noyau

Avant d’installer LXD, certains paramètres supplémentaires sont requis. Par conséquent, passez en utilisateur root :

$ su -

Et ajoutez les paramètres comme suit.

$ grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
$ grubby --args="namespace.unpriv_enable=1" --update-kernel="$(grubby --default-kernel)"
$ echo "user.max_user_namespaces=3883" | sudo tee -a /etc/sysctl.d/99-userns.conf
Ajouter Des Paramètres De Noyau Linux
Ajouter Des Paramètres De Noyau Linux

Une fois les paramètres en place, continuez et activez Snap.

Étape 4 : Installer et activer Snap

La façon la plus simple d’installer LXD au RHEL 8 est de l’installer comme un se casser paquet. Mais d’abord, installons se casser comme suit.

$ sudo dnf install snapd

Cela installera snapd démon ou service aux côtés d’autres dépendances Python, comme indiqué.

Installer Snap Sous Linux
Installer Snap Sous Linux

Avec snap installé, continuez et activez le se casser prise de communication.

$ sudo systemctl enable --now snapd.socket

De plus, activez le support classique en créant un lien symbolique à partir de /var/lib/snapd/snap à /se casser.

$ sudo ln -s /var/lib/snapd/snap  /snap

Pour mettre à jour le se casser chemins, redémarrez votre système.

$ sudo reboot

Étape 5 : Installer le gestionnaire de conteneurisation LXD

Il y a deux façons d’installer LXD de se casser. Vous pouvez installer la dernière version de LXD comme montré.

$ sudo snap install —-classic lxd
Installer Lxd Sous Linux
Installer Lxd Sous Linux

Alternativement, vous pouvez installer la dernière version stable C’EST version comme suit :

$ sudo snap install lxd --channel=4.0/stable

Pour pouvoir exécuter lxc commandes sans passer à l’utilisateur sudo, ajoutez l’utilisateur actuellement connecté au lxd grouper.

$ sudo usermod -aG lxd $USER

Vérifiez que l’utilisateur a été ajouté au lxd groupe en répertoriant tous les groupes auxquels l’utilisateur appartient.

$ groups tecmint
Liste Des Groupes Sous Linux
Liste Des Groupes Sous Linux

Ensuite, exécutez le newgrp commande comme suit.

$ newgrp lxd

La commande modifie l’ID de groupe actuel lors d’une session de connexion. Il définit l’ID de groupe actuel sur le groupe nommé qui est lxd.

Étape 6 : Initialisation de l’environnement LXD

Avant de commencer à créer et à gérer LXD conteneurs, nous devons initialiser le LXD environnement en exécutant la commande.

$ lxc init

Ce qui suit est une série d’invites qui vous permettront de configurer votre environnement. Les valeurs par défaut fonctionneront très bien, mais n’hésitez pas à spécifier vos propres préférences.

Nous avons créé un pool de stockage appelé tec-piscine avec le lvm option comme backend.

Initialisation De L'Environnement Lxd
Initialisation De L&Rsquo;Environnement Lxd

Pour vérifier le LXD environnement que vous venez de configurer, vous pouvez utiliser un certain nombre de commandes. Par exemple, pour afficher le profil LXD par défaut, exécutez :

$ lxc profile show default
Liste Des Profils Lxd
Liste Des Profils Lxd

Pour afficher les adaptateurs réseau et les IPv4 et IPv6 adresses, exécutez :

$ lxc network list
Liste Des Adaptateurs Réseau Lxd
Liste Des Adaptateurs Réseau Lxd

Vous pouvez le réduire davantage et afficher des informations plus fines sur le lxdbr0 l’interface comme suit.

$ lxc network show lxdbr0
Liste Des Informations Sur Le Réseau Lxd
Liste Des Informations Sur Le Réseau Lxd

Vous pouvez également vérifier le pool de stockage.

$ lxc storage list
Répertorier Le Pool De Stockage Lxd
Répertorier Le Pool De Stockage Lxd

Vous pouvez également obtenir des détails complexes sur le pool de stockage.

$ lxc storage show tec-pool
Répertorier Les Informations Sur Le Pool De Stockage Lxd
Répertorier Les Informations Sur Le Pool De Stockage Lxd

Pour lister en cours d’exécution lxc conteneurs, exécutez la commande :

$ lxc list

Pour le moment, nous n’avons pas encore de conteneurs en cours d’exécution. Vous obtiendrez donc un tableau vide avec uniquement les libellés des colonnes.

Répertorier Les Conteneurs En Cours D'Exécution Lxc
Répertorier Les Conteneurs En Cours D&Rsquo;Exécution Lxc

Étape 7 : Répertorier les images de conteneur LXC prédéfinies

Juste comme Docker, la LXC La plate-forme fournit un référentiel d’images prédéfinies à partir desquelles vous pouvez créer des conteneurs. Pour répertorier toutes les images prédéfinies pour tous les systèmes d’exploitation, y compris les machines virtuelles, exécutez la commande :

$ lxc image list images: 

Cela remplit une énorme liste d’images de conteneurs et de machines virtuelles pour tous les systèmes d’exploitation. Pour vous limiter à une distribution Linux spécifique, utilisez la syntaxe :

$ lxc image list images: grep -i os-type

Par exemple, pour rechercher des images disponibles pour Linux rocheux, exécutez la commande :

$ lxc image list images: grep -i rocky
Répertorier Les Images De Conteneurs Lxc
Répertorier Les Images De Conteneurs Lxc

Si vous recherchez Debian images, exécutez la commande :

$ lxc image list images: grep -i debian
Répertorier L'Image Debian Lxc
Répertorier L&Rsquo;Image Debian Lxc

Étape 8 : Lancement des conteneurs LXC

Lancer lxc conteneurs, utilisez la syntaxe :

$ lxc launch images:{distro}/{version}/{arch} {container-name-here}

Ici, nous allons lancer 2 conteneurs : tec-conteneur1 à partir de Debian 10 et tec-conteneur2 à partir de Rocky Linux 8.

$ lxc launch images:debian/10/amd64 tec-container1
$ lxc launch images:rockylinux/8/amd64 tec-container2 
Lancer Les Conteneurs Lxc
Lancer Les Conteneurs Lxc

Pour lister les lxc conteneurs, exécutez la commande :

$ lxc list

La sortie affiche une foule d’informations sur les conteneurs. Cela inclut le nom des conteneurs, l’état – qu’il soit en cours d’exécution ou arrêté – les adresses IPv4 et IPv6, le type (qu’il s’agisse d’un conteneur ou d’une machine virtuelle) et un certain nombre d’instantanés.

Lister Les Conteneurs Lxc
Lister Les Conteneurs Lxc

Pour répertorier uniquement les conteneurs en cours d’exécution, exécutez la commande :

$ lxc list | grep -i running

De même, pour les conteneurs arrêtés, exécutez :

$ lxc list | grep -i stopped
Liste Des Conteneurs Lxc En Cours D'Exécution
Liste Des Conteneurs Lxc En Cours D&Rsquo;Exécution

Vous pouvez rechercher les informations et les métriques d’un conteneur, telles que les processus en cours d’exécution, l’utilisation du processeur et de la mémoire et la bande passante, pour n’en citer que quelques-unes, à l’aide de la commande :

$ lxc info tec-container1 
Liste Des Informations Sur Le Conteneur Lxc
Liste Des Informations Sur Le Conteneur Lxc

Étape 9 : Obtenez un accès Shell à un conteneur LXC

Vous pouvez obtenir un accès bash à un conteneur en utilisant la syntaxe :

$ lxc exec container-name  name-of-the-shell

Pour accéder au shell tec-conteneur1, nous exécuterons la commande :

$ lxc exec tec-container1 bash

Une fois que vous avez obtenu l’accès au shell, vous pouvez commencer à interagir avec le conteneur en tant qu’utilisateur root en exécutant des commandes shell courantes, y compris la mise à jour du système, comme indiqué :

$ apt update
Obtenez L'Accès Au Shell Du Conteneur Lxc
Obtenez L&Rsquo;Accès Au Shell Du Conteneur Lxc

Pour quitter le conteneur, exécutez la commande :

$ exit

Alternativement, vous pouvez exécuter les commandes directement sur le conteneur sans accéder au shell en utilisant le format suivant :

$ lxc exec container-name command

Par exemple, vous pouvez exécuter les commandes suivantes qui mettront à jour les listes de paquets, vérifieront la version du système d’exploitation exécuté sur le conteneur Debian et vérifieront la date.

$ lxc exec tec-container1 apt update
$ lxc exec tec-container1 cat /etc/debian_version
$ lxc exec tec-container1 date
Exécuter Des Commandes Dans Le Conteneur Lxc
Exécuter Des Commandes Dans Le Conteneur Lxc

Étape 10 : Extraire/pousser un ou plusieurs fichiers vers un conteneur LXC

Une autre opération que vous pouvez effectuer consiste à transférer des fichiers vers et depuis le conteneur. Pour le démontrer, nous allons créer un nouveau répertoire dans le LXD conteneur et naviguez dedans.

# mkdir data && cd data

Ensuite, nous allons créer un exemple de fichier et ajouter des données. Pour ce faire, nous allons créer un exemple de fichier avec vigueur éditeur

# vim file1.txt

Ensuite, nous allons taper un exemple de texte et enregistrer le fichier.

Hello World, Welcome to LXD containers.

Pour extraire le fichier du conteneur vers le système hôte local, nous utiliserons la syntaxe :

$ lxc file pull {container-name}/{path/to/file} {/path/to/local/dest}

Dans ce cas, la commande sera :

$ lxc file pull tec-container2/root/data/file1.txt /home/tecmint
Extraire Les Fichiers Vers Le Conteneur Lxc
Extraire Les Fichiers Vers Le Conteneur Lxc

Pour envoyer ou copier un fichier du répertoire local vers le conteneur, utilisez la syntaxe :

$ lxc file push {/path/to/file} {container-nane} /path/to/dest/dir/

Dans ce cas, nous avons un exemple de fichier dans le répertoire personnel appelé fichier2.txt étant copié sur le /racine/données/ chemin dans le tec-conteneur2 récipient.

$ lxc file push /home/tecmint/file2.txt tec-container2/root/data/

Pour confirmer l’existence du fichier dans le conteneur, nous exécuterons :

$ lxc exec tec-container2 ls /root/data
Transférer Les Fichiers Vers Le Conteneur Lxc
Transférer Les Fichiers Vers Le Conteneur Lxc

Étape 11 : Arrêter/Démarrer/Redémarrer et Supprimer les conteneurs LXC

Avec le lxc utilitaire de ligne de commande, vous pouvez effectuer des tâches de gestion de conteneurs telles que l’arrêt, le démarrage, le redémarrage et la suppression de conteneurs.

Pour arrêter un lxc conteneur, utilisez la syntaxe :

$ lxc stop container-name

Par exemple, pour arrêter tec-conteneur1, nous exécuterons la commande :

$ lxc stop tec-container1
Arrêter Le Conteneur Lxc
Arrêter Le Conteneur Lxc

Pour démarrer le lxc conteneur, utilisez la syntaxe :

$ lxc start container-name

Par exemple, pour commencer tec-conteneur1, nous exécuterons :

$ lxc start tec-container1
Démarrer Le Conteneur Lxc
Démarrer Le Conteneur Lxc

Pour redémarrer les deux lxc conteneurs, nous exécuterons la commande :

$ lxc restart tec-container1
$ lxc restart tec-container2
Redémarrer Les Conteneurs Lxc
Redémarrer Les Conteneurs Lxc

Pour supprimer un lxc conteneur, vous devez d’abord arrêter le conteneur puis le supprimer. Par exemple, pour supprimer, nous exécuterons les commandes :

$ lxc stop tec-container1
$ lxc delete tec-container1

Alternativement, vous pouvez combiner ces deux commandes comme indiqué.

$ lxc stop tec-container1 && lxc delete tec-container1
Supprimer Les Conteneurs Lxc
Supprimer Les Conteneurs Lxc

Étape 12 : obtenir de l’aide sur les options de ligne de commande LXC

Pour obtenir de l’aide sur les autres options de commande fournies par LXC, exécutez simplement la commande :

$ lxc --help
OR
$ lxc command --help e.g
$ lxc file --help
Aide Du Conteneur Lxc
Aide Du Conteneur Lxc
Conclusion

C’était une plongée profonde dans LXD conteneurs et comment vous pouvez les créer et les gérer en utilisant le lxc outil utilitaire en ligne de commande. Nous espérons que vous avez trouvé ce guide utile.

.

Rate this post
Publicité
Article précédentLe P50 Pocket de Huawei est une alternative plus sophistiquée au Galaxy Z Flip 3 qui coûte 1 400 $
Article suivantLes détecteurs de métaux Garrett Walk-Through peuvent être piratés à distance
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici