Introduction conteneurs LXD
LXD et LXC sont deux technologies de conteneurs Linux. LXD est un gestionnaire de conteneurs qui fournit une interface unifiée pour créer, gérer et supprimer des conteneurs. LXC est un framework de conteneurs qui fournit les CLI nécessaires à la création de conteneurs.
Dans ce tutoriel, nous allons apprendre à installer et à utiliser LXD et LXC sur une machine Linux.
Prérequis
- Une machine Linux avec un système d'exploitation récent, tel qu'Ubuntu 22.04 LTS.
- Les privilèges root ou sudo.
Installation de LXD
Exécutez les commandes suivantes :
sudo apt update
sudo apt install lxd-installer
Si vous utilisez une version antérieure d'Ubuntu, vous pouvez installer LXD à partir des sources, consultez la documentation LXD.
Vérification de l'installation
Une fois LXD installé, vous pouvez vérifier son installation en exécutant la commande suivante :
lxd version
Cette commande devrait afficher la version de LXD installée sur votre système.
Ajout de l'utilisateur au groupe lxd
Pour pouvoir lancer les commandes lxd et lxc sans passer par sudo ou root vous devez faire partie du groupe lxd, exécutez la commande suivante pour vous ajouter au groupe :
sudo usermod -aG lxd <utilisateur>
Puis fermez et relancez votre session.
Initialisation de LXD
Avant de pouvoir créer des conteneurs, vous devez initialiser LXD.
Pour ce faire, exécutez la commande suivante :
lxd init --minimal
L'option --minimal
initialise avec les paramètres par défaut, vous pouvez enlever cette option si vous souhaitez configurer manuellement.
Création d'un conteneur
Un conteneur est une instance d'un système d'exploitation Linux qui s'exécute dans un environnement isolé.
Pour créer un conteneur ubuntu 22.04, exécutez la commande suivante :
lxc launch ubuntu:22.04 <nom_du_conteneur>
Démarrage et arrêt d'un conteneur
Une fois un conteneur créé, vous pouvez le démarrer en exécutant la commande suivante :
lxc start <nom_du_conteneur>
Pour arrêter un conteneur, exécutez la commande suivante :
lxc stop <nom_du_conteneur>
Connexion à un conteneur
Une fois un conteneur démarré, vous pouvez vous y connecter en exécutant la commande suivante :
lxc exec <nom_du_conteneur> /bin/bash
Cette commande va ouvrir un shell dans le conteneur.
Exécuter une commande sur un conteneur
Pour exécuter une commande sur un conteneur, exécutez la commande suivante :
lxc exec <nom du conteneur> -- <ma commande>
Lister les conteneurs
Pour lister les conteneurs installés sur la machine, exécutez la commande suivante :
lxc list
Lister les images locales
Pour lister les images téléchargées sur la machine, exécutez la commande suivante :
lxc image list
Lister les images distantes
Pour lister toutes les images disponibles sur le web, exécutez la commande suivante :
lxc image list images:
vous pouvez aussi regarder sur le site officiel la liste des images disponibles.
Suppression d'un conteneur
Pour supprimer un conteneur, exécutez la commande suivante :
lxc delete <nom du conteneur>
Gestion de profile
LXD crée un profile par defaut lors de sont installation. Pour lister les profiles, exécutez la commande suivante :
lxc profile list
Pour afficher la configuration du profile par défaut, exécutez la commande suivante :
lxc profile show default
Pour éditer un profile, exécutez la commande suivante :
lxc profile edit default
Pour créer un nouveau profile, exécutez la commande suivante :
lxc profile copy default myNewProfile
Gestion réseau
Pour lister les interfaces réseaux, exécutez la commande suivante :
lxc network list
Pour créer un nouveau pont réseau, exécutez la commande suivante :
lxc network create lxdbr1 --type=bridge
Pour éditer une interface réseaux, exécutez la commande suivante :
lxc network edit lxdbr1
Pour afficher la configuration d'une interface réseaux, exécutez la commande suivante :
lxc network show lxdbr1
Pour plus d'informations sur LXD et LXC, consultez la documentation officielle.
Exercices
- Créer un conteneur avec une distribution Linux différente de celle installée sur votre machine hôte.
- Connectez-vous à un conteneur et installez un logiciel.
- Créer un conteneur avec un partage de fichiers entre le conteneur et la machine hôte.
- Configurer un conteneur pour qu'il s'exécute automatiquement au démarrage de la machine hôte.
- Créer un nouveau bridge réseau.
- Créer un nouveau profile qui utilise ce bridge réseau.
- Créer un conteneur qui utilise ce nouveau profile et installer apache et mysql.