Début avec des conteneurs LXD sur Ubuntu 16.04

Début avec des conteneurs LXD sur Ubuntu 16.04

Pourquoi LXD?

Ce n'est pas un secret que les conteneurs sont chauds en ce moment dans le monde Linux. Ils deviennent rapidement l'épine dorsale du nuage et réalisent les rêves de DevOps. Même ainsi, à première vue, il semble un peu redondant pour Canonical de développer un nouveau système de conteneurs pour Ubuntu dans un monde facilement dominé par Docker. Alors pourquoi, alors, ils l'ont fait? Pour remplir un terrain d'entente entre les machines virtuelles traditionnelles et Docker. Canonical l'a dit eux-mêmes: «En combinant la vitesse et la densité des conteneurs avec la sécurité des machines virtuelles traditionnelles, le LXD de Canonical est la prochaine génération de l'hyperviseur des conteneurs pour Linux."Non seulement cela, mais les conteneurs Docker peuvent être exécutés dans des conteneurs LXD, ajoutant une autre dimension aux configurations de conteneurs potentiels.

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

La configuration initiale

Début avec LXD sur Ubuntu 16.04 est aussi proche de l'effort que prévu. Canonical condensé l'installation sur un seul package, ce qui en fait une seule commande. Un simple sudo apt-get install lxd Aura tout ce nécessaire 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 poursuivre la configuration de l'hyperviseur LXD. En cours sudo lxd init commence le processus de configuration.


Le processus de configuration initial se compose d'une série d'invites de ligne de commande demandant des informations de base nécessaires pour configurer 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, la configuration se déplace vers une interface basée sur le texte avec une série de questions sur la configuration de mise en réseau de l'hyperviseur LXD. Le processus crée des réseaux IPv4 et IPv6 pontés complets avec des sous-réseaux personnalisés et DHCP. De cette façon, LXD agit comme un routeur virtuel pour tous les conteneurs déployés dessus et fournit un seul point de configuration pour ces réseaux virtuels.

De toute évidence, c'est l'une de ces moments où LXD brille en tant que solution «Best des deux mondes». Bien sûr, il est également agréable que Canonical fournit un menu de configuration de style Debian pour parcourir le processus et le rendre presque sans esprit facile. Une fois la configuration terminée, il recule sur la ligne de commande et fournit un court message disant qu'il a réussi.


Images LXD et conteneurs

Configuration d'un conteneur

Comme Docker, LXD est basé sur l'image. Il offre trois options principales pour obtenir des images; Importations éloignées, intégrées et locales. Il existe plusieurs sources distantes qui viennent avec LXD hors de la boîte ainsi que les sources locales. Pour voir quelles sources sont disponibles, il suffit de courir liste éloignée LXC, Et vous serez présenté avec un tableau de ligne de commande pratique affichant des informations sur les sources actuellement disponibles.


Aux fins de cet article, les sources locales semblaient être l'option la meilleure et la plus simple. Il y a des images ubuntu propres fournies qui font un excellent point de départ pour tout déploiement. C'est un autre de ces moments «meilleurs des deux mondes». Au lieu d'avoir un conteneur dépouillé adapté à l'exécution d'une seule application, les conteneurs LXD sont plus proches d'une machine virtuelle à part entière.

Ils viennent avec un accès de la ligne de commande et même la possibilité d'installer des packages. En même temps, LXD fournit d'excellents outils de ligne de commande pour gérer les conteneurs et même pousser et tirer des fichiers vers et depuis leur. Pour tourner un Ubuntu 16.04 conteneur, il suffit de courir lxc lance Ubuntu: 16.04 Nom de la containeuse. LXD va récupérer 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 liste LXC. Démarrer et arrêter les conteneurs est tout aussi facile avec Nom d'arrêt LXC et Nom de départ LXC.

L'un des avantages clairs du LXD par rapport aux conteneurs traditionnels comme Docker est la possibilité de modifier des 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 seul. S'il s'agit de passer des fichiers entre le système hôte et les conteneurs, LXD a des commandes push and till qui permettent de passer les fichiers. Si quelque chose de plus impliqué 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 à la coquille d'un conteneur, Nom de container LXC - / bin / bash.


Dans le shell du conteneur, il y a un système de fichiers Linux complet, et la ligne de commande a accès aux outils regroupés avec l'image ou installés sur les conteneurs plus tard. Cela permet aux conteneurs LXD d'exécuter des mises à jour et plusieurs applications, y compris Docker. De cette façon, un ingénieur DevOps pourrait déployer un conteneur LXD exécutant une base de données et un serveur Web ainsi que Docker avec plusieurs applications Web exécutées dans des conteneurs Docker.
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 ressort clairement de cet essai le plus élémentaire avec LXD que Canonical a atteint son objectif dans la création d'un milieu clair entre les conteneurs de virtualisation Linux et Docker Full Linux. LXD est un outil que les ingénieurs DevOps devraient envisager sérieusement d'ajouter à leur boîte à outils.

Tutoriels Linux connexes:

  • Ubuntu 20.04 Télécharger
  • Choses à installer sur Ubuntu 20.04
  • Comment sauvegarder les clés GPG sur papier
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment configurer un serveur OpenVPN sur Ubuntu 20.04
  • Ubuntu 20.10 téléchargement
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Ubuntu 21.04 Télécharger
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Choses à installer sur Ubuntu 22.04