Installez LXC (conteneurs Linux) dans Rhel, Rocky et Almalinux
- 2516
- 451
- Romain Martinez
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.
$ getenforceVé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-ReleaseInstaller 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.confliAjouter 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 LinuxAvec 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 LXDInstallez 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 TecmintListe 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 LXDPour 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éfautListe des profils LXD
Pour afficher les adaptateurs réseau et le Ipv4 et Ipv6 Adresses, exécuter:
$ LXC Network ListListe 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 LXDBR0Liste des informations réseau LXD
Vous pouvez également vérifier la piscine de stockage.
$ LXC LIST DE STOCKAGEListe du pool de stockage LXD
Vous pouvez en outre obtenir des détails complexes sur la piscine de rangement.
$ LXC Storage Show Tec-PoolListe 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 rockyListe des images de conteneur LXC
Si vous recherchez Debian images, exécutez la commande:
$ LXC Image List Images: grep -i DebianListe 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-Container2Lancez 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 LXCPour 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-contrainer1Liste 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 À JOURGagner 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-CONTAINER1Exé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 / tecmintTirez 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 / DataAppuyez 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-contrainer1Stop 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-Container1Dé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-Container2Redé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-container1Supprimer 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 - helpAide à 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.
- « 30 Commandes Linux utiles pour les administrateurs système
- Exemples de commande de 10 wget (Linux File Downloader) dans Linux »