Recherche de site Web

Prise en main des conteneurs LXD sur Ubuntu 16.04


Pourquoi LXD ?

Ce n’est un secret pour personne que les conteneurs sont en vogue en ce moment dans le monde Linux. Ils deviennent rapidement l’épine dorsale du Cloud et font des rêves DevOps une réalité. Même ainsi, à première vue, il semble un peu redondant pour Canonical de développer un nouveau système de conteneur pour Ubuntu dans un monde facilement dominé par Docker. Alors, pourquoi l’ont-ils fait ? Pour combler un juste milieu entre les machines virtuelles traditionnelles et Docker. Canonical l’a dit lui-même : « En combinant la vitesse et la densité des conteneurs avec la sécurité des machines virtuelles traditionnelles, le LXD de Canonical est la nouvelle génération d’hyperviseur de conteneurs pour Linux. De plus, les conteneurs Docker peuvent être exécutés dans des conteneurs LXD, ce qui ajoute une autre dimension aux configurations de conteneurs potentielles.

LXD est une amélioration de l’hyperviseur de conteneur Linux LXC existant avec son propre ensemble d’outils, partageant une relation similaire au projet original comme Ubuntu le fait avec Debian dans le but de prendre un excellent logiciel existant et de le rationaliser pour une utilisation plus facile. Sur la dernière version d’Ubuntu LTS de Canonical, la 16.04, LXD est bien intégré et facile à utiliser avec des outils CLI clairs et concis qui rendent la création et la gestion de conteneurs transparentes.

Configuration initiale

La prise en main de LXD sur Ubuntu 16.04 est aussi simple que prévu. Canonical a condensé l’installation en un seul paquet, ce qui en fait une installation à une seule commande. Une simple installation de sudo apt-get lxd obtiendra tout ce dont vous avez besoin pour commencer.

Afin d’ajouter l’utilisateur au groupe 'lxd' afin de pouvoir exécuter les commandes nécessaires sans redémarrage, exécutez newgrp lxd. Après cela, tout sera clair pour procéder à la configuration de l’hyperviseur LXD. L’exécution de sudo lxd init commence le processus d’installation.

Le processus de configuration initial consiste en une série d’invites de ligne de commande demandant les informations de base nécessaires à la configuration de l’hyperviseur LXD. Le processus est très simple et demande des informations telles que le type de stockage, l’adresse IP, le numéro de port, le mot de passe et si la connexion est pontée ou non.

Après cette série d’invites, le programme d’installation passe à une interface textuelle avec une série de questions sur la configuration réseau de l’hyperviseur LXD. Le processus crée des réseaux IPv4 et IPv6 pontés, avec des sous-réseaux personnalisés et DHCP. De cette façon, LXD agit comme un routeur virtuel pour tous les conteneurs qui y sont déployés et fournit un point de configuration unique pour ces réseaux virtuels.

De toute évidence, c’est l’un de ces moments où LXD brille comme une solution « le meilleur des deux mondes ». Bien sûr, c’est aussi bien que Canonical fournisse un menu de configuration de style Debian pour parcourir le processus et le rendre presque facile. Une fois la configuration terminée, elle revient à la ligne de commande et fournit un court message indiquant qu’elle a réussi.

Images et conteneurs LXD

Configuration d’un conteneur

Comme Docker, LXD est basé sur l’image. Il offre trois options principales pour obtenir des images ; Importations à distance, intégrées et locales. Il existe plusieurs sources distantes qui sont fournies avec LXD prêt à l’emploi, ainsi que les sources locales. Pour voir quelles sources sont disponibles, il suffit d’exécuter lxc remote list, et vous serez présenté avec une table de ligne de commande pratique affichant des informations sur les sources actuellement disponibles.

Ils sont livrés avec un accès en ligne de commande et même la possibilité d’installer des paquets. Dans le même temps, LXD fournit d’excellents outils de ligne de commande pour gérer les conteneurs et même pousser et extraire des fichiers vers et depuis ceux-ci. Pour lancer un conteneur Ubuntu 16.04, il suffit d’exécuter lxc launch ubuntu :16.04 name-of-container. LXD va chercher l’image, créer un conteneur et démarrer le conteneur.

Travailler avec des conteneurs LXD

Il est facile de vérifier l’état du conteneur avec la liste lxc. Le démarrage et l’arrêt des conteneurs sont tout aussi simples avec lxc stop name-of-container et lxc start name-of-container.

L’un des avantages évidents de LXD par rapport aux conteneurs traditionnels comme Docker est la possibilité de modifier les conteneurs en cours d’exécution et de les mettre à jour plutôt que d’emballer un conteneur, de le déployer et de le laisser tranquille. S’il s’agit de passer des fichiers entre le système hôte et les conteneurs, LXD dispose de commandes push et pull qui permettent de transmettre des fichiers dans les deux sens. Si quelque chose de plus complexe est nécessaire, LXD fournit un excellent outil de ligne de commande pour accéder aux conteneurs en cours d’exécution et obtenir un shell complet. Afin d’avoir accès au shell d’un conteneur exécuté, lxc exec nom-du-conteneur -- /bin/bash.

Bien sûr, ce n’est qu’une des nombreuses possibilités, mais l’aspect clé ici est que LXD ajoute une autre couche à l’équation et offre plus de flexibilité lors de la configuration d’une pile logicielle.

Conclusion

Il est clair, même à partir de cet essai le plus basique avec LXD, que Canonical a atteint son objectif en créant un terrain d’entente clair entre la virtualisation Linux complète et les conteneurs Docker. LXD est un outil que les ingénieurs DevOps devraient sérieusement envisager d’ajouter à leur boîte à outils.

Articles connexes: