Installez LXC (conteneurs Linux) dans Rhel, Rocky et Almalinux

Installez LXC (conteneurs Linux) dans Rhel, Rocky et Almalinux

LXD est décrit comme le conteneur de nouvelle génération et le gestionnaire de machines virtuelles qui offre un immersif pour les systèmes Linux qui s'exécutent à l'intérieur des conteneurs ou comme des machines virtuelles.

Il fournit des images pour un nombre démesuré de distributions Linux avec la prise en charge d'une large sélection de backends de stockage et de types de réseau. 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 en utilisant trois façons. Vous pouvez tirer parti du Client LXC ou outil de 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 l'image avec des images pour une large sélection de distributions Linux.
  • Il est construit avec la sécurité comme 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 des réseaux se fait par la création de réseaux de ponts et de tunnels à hôtes.
  • Contrôle avancé des ressources telles que le CPU, la RAM, l'utilisation du disque, les E / S de blocs 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 divers nœuds.

Qu'est-ce que LXC?

Ne pas confondre avec le LXC outil client de ligne de commande fournis par LXD, LXC (Récipient Linux) est une technologie de virtualisation de niveau OS populaire 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 dans un seul hôte. Il comprend les modèles, le langage des outils et les liaisons de la bibliothèque.

Fonctionnalités LXC

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

  • Espaces de noms du noyau: PID, Mont, réseau UTS et utilisateur.
  • Cgroups (groupes de contrôle).
  • Chroots - en utilisant PIVOT_ROOT.
  • Politiques SecComp.
  • Profils selinux et Apparmor.

LinuxContainers.L'organisation est le projet de parapluie derrière les deux LXD et LXC. Son objectif est d'offrir une plate-forme neutre de distribution et de fournisseur pour les technologies de conteneurs Linux.

Avec cette introduction à l'écart, nous allons maintenant montrer comment créer et gérer LXC conteneurs sur des distributions Linux basées sur Rhel telles que Centos, Rocky Linux, et Almalinux.

Exigences

Un système d'exploitation Linux fonctionnant avec une installation minimale:

  • Installation de Rhel Linux
  • Installation de Centos Linux
  • Installation de Rocky Linux
  • Installation d'Almaliux

Étape 1: Réglez Selinux en mode permissif

Dès le départ, nous commencerons par configurer Selinux et le mettre sur permissive. Mais avant de le faire, mettons à jour les packages système comme suit:

$ sudo dnf mise à jour 

Mettre en place Selinux Pour permissive, 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 redémarrer 

Et confirmer le statut de Selinux.

$ getenforce 
Vérifiez le mode SELINUX

Étape 2: Installez 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-libérer lest-8.noarch.RPM ou $ sudo yum installer EPEL-Release 
Installer le référentiel EPEL

Étape 3: Ajouter les paramètres du noyau

Avant d'installer LXD, Certains paramètres supplémentaires sont nécessaires. Passez donc à l'utilisateur racine:

$ su - 

Et ajouter les paramètres comme suit.

$ grubby --args = "user_amespace.activer = 1 "- update-kernel =" $ (grubby --fault-kernel) "$ grubby --args =".UNPRIV_ENable = 1 "- Update-Kernel =" $ (Grubby - Default-Kernel) "$ echo".Max_User_Namespaces = 3883 "| sudo tee -a / etc / sysctl.d / 99-userns.confli 
Ajouter les paramètres du noyau Linux

Une fois les paramètres en place, procédez et activez SNAP.

Étape 4: Installer et activer le snap

Le moyen le plus simple d'installer LXD sur Rhel 8 est de l'installer comme un instantané emballer. Mais d'abord, installons instantané comme suit.

$ sudo dnf installer snapd 

Cela va installer snapd démon ou service aux côtés d'autres dépendances python comme indiqué.

Installer un snap dans Linux

Avec un snap installé, procéder et activer le principal instantané prise.

$ sudo systemctl activy --now snapd.prise 

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

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

Pour mettre à jour le instantané Chemins, redémarrez votre système.

$ sudo redémarrer 

Étape 5: Installez le gestionnaire de contenerisation LXD

Il existe deux façons d'installer LXD de instantané. Vous pouvez installer la dernière version de LXD comme montré.

$ Sudo Snap Install - Classic LXD 
Installez LXD dans Linux

Alternativement, vous pouvez installer la dernière écurie 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é à l'utilisateur LXD groupe.

$ sudo usermod -ag lxd $ utilisateur 

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

$ Groupes Tecmint 
Liste des groupes dans 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 au 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éé une piscine de stockage appelée pool TEC avec le LVM option comme backend.

Initialisation de l'environnement LXD

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

$ LXC Profil Afficher la valeur par défaut 
Liste des profils LXD

Pour afficher les adaptateurs réseau et le Ipv4 et Ipv6 Adresses, exécuter:

$ LXC Network List 
Liste des adaptateurs réseau LXD

Vous pouvez encore réduire l'informatique et afficher des informations plus fines sur le lxdbr0 interface comme suit.

$ LXC Network Show LXDBR0 
Liste des informations réseau LXD

Vous pouvez également vérifier la piscine de stockage.

$ LXC LIST DE STOCKAGE 
Liste du pool de stockage LXD

Vous pouvez en outre obtenir des détails complexes sur la piscine de rangement.

$ LXC Storage Show Tec-Pool 
Liste des informations sur le pool de stockage LXD

Pour lister l'exécution LXC conteneurs, exécutez la commande:

$ LXC LISTE 

Pour le moment, nous n'avons pas encore de conteneurs en cours d'exécution. Vous obtiendrez donc une table vide avec seulement les étiquettes de colonne.

Liste des conteneurs en cours d'exécution LXC

Étape 7: Listing des images de conteneurs LXC prédéfinies

Juste comme Docker, le LXC La plate-forme fournit un référentiel d'images prédéfinies dont vous pouvez créer des conteneurs à partir de. 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 se rétrécir à une distribution Linux spécifique, utilisez la syntaxe:

$ LXC Image List Images: Grep -i OS-Type 

Par exemple, pour rechercher des images disponibles pour Rocky Linux, Exécutez la commande:

$ LXC Image List Images: grep -i rocky 
Liste des images de conteneur LXC

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

$ LXC Image List Images: grep -i Debian 
Liste LXC Debian Image

Étape 8: Lancement de conteneurs LXC

Lancer LXC conteneurs, utilisez la syntaxe:

$ lxc Images de lancement: distro / version / arch conteneur-nom-here 

Ici, nous lancerons 2 conteneurs: TEC-Container1 depuis Debian 10 et TEC-Container2 depuis Rocky Linux 8.

$ LXC Images de lancement: Debian / 10 / AMD64 TEC-Container1 $ LXC Images de lancement: RockyLinux / 8 / AMD64 TEC-Container2 
Lancez les conteneurs LXC

Pour lister le LXC conteneurs, exécutez la commande:

$ LXC LISTE 

La sortie affiche une multitude d'informations sur les conteneurs. Cela inclut le nom des conteneurs, l'état - qu'ils soient en cours d'exécution ou arrêtés - adresses IPv4 et IPv6, tapez (que ce soit un conteneur ou une machine virtuelle), et un certain nombre de instantanés.

Liste des conteneurs LXC

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

$ LXC LISTE | grep -i coulant 

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

$ LXC LISTE | grep -i arrêté 
Liste des conteneurs LXC

Vous pouvez sonder les informations et les mesures d'un conteneur tels que les processus en cours d'exécution, l'utilisation du processeur et de la mémoire et la bande passante pour en mentionner quelques-unes en utilisant la commande:

$ lxc info tec-contrainer1 
Liste des informations sur les conteneurs LXC

Étape 9: Gagnez l'accès au shell à un conteneur LXC

Vous pouvez obtenir un accès bash à un conteneur à l'aide de la syntaxe:

$ LXC EXEC Container-Name Name of the-Shell 

Pour accéder à la coquille à TEC-Container1, Nous exécuterons la commande:

$ LXC EXEC TEC-Container1 bash 

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

$ APT MISE À JOUR 
Gagner l'accès au shell de conteneur LXC

Pour sortir du conteneur, exécutez la commande:

$ exit 

Alternativement, vous pouvez exécuter les commandes directement sur le conteneur sans accéder au shell à l'aide du format suivant:

$ LXC Exec Container-Name-Name 

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

$ LXC EXEC TEC-Container1 APT Update $ LXC EXEC TEC-CONTAINER1 CAT / ETC / DEBIAN_VERION $ LXC EXEC TEC-CONTAINER1 
Exécuter les commandes dans le conteneur LXC

Étape 10: Tirez / poussez un (s) fichier (s) vers un conteneur LXC

Une autre opération que vous pouvez effectuer est de transférer des fichiers vers et depuis le conteneur. Pour démontrer cela, nous créerons un nouveau répertoire dans le LXD conteneur et y accéder.

# data mkdir et les données CD 

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

# VIM File1.SMS 

Ensuite, nous tapons un exemple de texte et enregistrerons le fichier.

Hello World, bienvenue dans les conteneurs LXD. 

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

$ lxc file till contener-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 
Tirez les fichiers dans le conteneur LXC

Pour pousser ou copier un fichier à partir du répertoire local dans le conteneur, utilisez la syntaxe:

$ lxc file push / path / to / file contener-nane / path / to / dest / dir / 

Dans ce cas, nous avons un exemple de fichier dans le répertoire domestique appelé fichier2.SMS être copié sur le / root / data / chemin dans le TEC-Container2 récipient.

$ LXC Fichier Push / Home / Tecmint / File2.txt tec-contrainer2 / root / data / 

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

$ LXC EXEC TEC-Container2 LS / Root / Data 
Appuyez sur des fichiers vers le conteneur LXC

Étape 11: Arrêtez / 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 des conteneurs telles que l'arrêt, le démarrage, le redémarrage et la suppression des conteneurs.

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

$ LXC Stop Container-Name 

Par exemple, pour arrêter TEC-Container1, Nous exécuterons la commande:

$ lxc stop tec-contrainer1 
Stop LXC Container

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

$ LXC Start Container-Name 

Par exemple, pour commencer TEC-Container1, Nous exécuterons:

$ lxc start Tec-Container1 
Démarrer le conteneur LXC

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

$ lxc redémarrer TEC-Container1 $ lxc redémarrer TEC-Container2 
Redémarrer les conteneurs LXC

Pour supprimer un LXC conteneur, vous devez d'abord arrêter le conteneur et le supprimer par la suite. Par exemple, pour supprimer, nous exécuterons les commandes:

$ lxc stop tec-contrainer1 $ lxc supprimer Tec-Container1 

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

$ lxc stop tec-contrainer1 && lxc supprimer tec-container1 
Supprimer les conteneurs LXC

Étape 12: Obtenez 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 - Commande Help ou $ lxc - help e.Fichier G $ lxc - help 
Aide à 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 d'utilité de ligne de commande. Nous espérons que vous avez trouvé ce guide utile.