GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel Vagrant - Premiers pas avec Vagrant sous Linux

Dans ce didacticiel Vagrant, nous découvrirons Vagrant, les boîtes vagrant, vagrantfile, les outils de provisionnement, comment installer vagrant sur les systèmes d'exploitation Linux et enfin, nous apprendrons quelques commandes vagrant de base pour créer et gérer des machines virtuelles à partir de la ligne de commande.

1. Présentation de Vagrant

Vagabond est un logiciel open source pour la création et la maintenance d'environnements de développement de logiciels virtuels. Il fournit un environnement de développement propre, facile à configurer, reproductible et portable. En d'autres termes, Vagrant nous permet de déployer facilement et rapidement un environnement de développement logiciel universel qui peut être utilisé n'importe où. Vagrant élimine simplement l'excuse "fonctionne sur ma machine". Parce que tout le monde travaille sur le même environnement avec le même ensemble de configuration. Peu importe le système d'exploitation qu'ils utilisent.

Vagrant est souvent utilisé pour mettre en place un environnement de travail identique et collaboratif permettant aux développeurs de travailler sur un projet commun. Il isole toutes les dépendances requises et leurs paramètres de configuration dans un seul environnement jetable. Lorsque les autres développeurs créent un environnement de développement avec le même fichier de configuration, ils obtiendront le même environnement avec les mêmes paramètres.

Vagrant est une application multiplateforme écrite en Ruby Langue. Il prend en charge GNU/Linux, Mac OS et Microsoft Windows. Il est développé par Hashicorp et publié sous MIT licence.

1.1. Boîtes vagabondes

La "box" est un format et une extension pour les environnements Vagrant. Les boîtes vagabondes ne sont que les images de base. Il peut s'agir d'une image Virtualbox ou d'une image VMware ou d'une image d'un fournisseur de cloud comme Amazon Machine Image (AMI). Nous pouvons copier les boîtes vagabondes sur n'importe quel autre système et configurer une réplique exacte du développement actuel.

Il existe de nombreuses boîtes Vagrant préconfigurées disponibles en téléchargement dans Vagrant Cloud dépôt public. Si vous ne souhaitez pas utiliser de boîtes préconfigurées, créez-en une selon votre goût et distribuez-la à tous via ce référentiel.

1.2. Fichier vagabond

Le système d'exploitation et les exigences logicielles sont définis dans un fichier de configuration nommé "vagrantfile". Ce fichier est distribué avec les boîtes Vagrant. Lorsque vous initialisez une machine virtuelle avec Vagrant, elle lira ce fichier et configurera votre environnement de développement en conséquence. Ainsi, l'objectif réel d'un vagrantfile est de décrire le type de machine virtuelle et comment configurer et provisionner les machines virtuelles.

Les détails suivants sont définis dans un fichier vagrant typique :

  • Version du système d'exploitation, par ex. Ubuntu bionique.
  • Activer/désactiver la vérification automatique de la mise à jour des boîtes.
  • Configuration réseau ;
    • redirection de port,
    • configurer un réseau privé (accès hôte uniquement à la machine),
    • configurer le réseau public (réseau ponté).
  • Partager des dossiers sur la VM invitée
  • Définir le fournisseur préféré, par ex. boîte virtuelle, kvm.
  • Définissez la quantité totale de mémoire pour la VM.
  • Activez le provisionnement avec un script shell ou des outils de gestion de la configuration comme Ansible.

1.3. Outils de provisionnement

Vagrant n'est pas une plate-forme de virtualisation autonome comme KVM ou Virtualbox. Il s'agit simplement d'un wrapper et d'un frontal qui se situe entre un logiciel de virtualisation et une machine virtuelle. Vagrant utilise divers fournisseurs de services et outils d'approvisionnement pour créer et gérer les environnements de développement.

Les machines virtuelles sont construites sur des applications de virtualisation populaires telles que VirtualBox, KVM, Docker, VMware, etc., et des fournisseurs de services cloud tels qu'AWS, Azure, GCE et bien d'autres. Vous pouvez consulter la liste complète des fournisseurs pris en charge ici . Vagrant est livré prêt à l'emploi avec la prise en charge de VirtualBox, Hyper-V et Docker. VirtualBox est le fournisseur par défaut de Vagrant.

Une fois la machine virtuelle construite, nous pouvons y installer le logiciel à l'aide de simples scripts shell et d'outils de gestion de configuration standard tels que Ansible, CFEngine, Chef, Docker, Podman, Puppet et Salt, etc. Les utilisateurs peuvent également personnaliser la configuration de environnements virtuels selon leurs besoins à l'aide des outils de provisionnement.

En un mot, les fournisseurs (par exemple, VirtualBox, AWS) sont utilisés pour créer un environnement virtuel et les fournisseurs (par exemple, Ansible, Puppet) sont utilisés pour personnaliser les environnements virtuels.

2. Installer Vagrant sur Linux

L'installation vagabonde est incroyablement simple et directe. Téléchargez simplement la dernière version à partir de la page de téléchargement de Vagrant et installez-la en utilisant la procédure standard pour vos systèmes d'exploitation. Pour savoir comment installer Vagrant sur différentes plates-formes Linux, consultez le lien suivant.

  • Comment installer Vagrant sur Linux

3. Tutoriel Vagrant - Commandes Vagrant de base pour créer et gérer des machines virtuelles

Ici, j'ai donné des exemples uniquement pour les commandes Vagrant de base dont nous avons besoin pour configurer et gérer un développement virtualisé. Pour connaître l'utilisation complète de Vagrant, reportez-vous à la documentation officielle donnée à la fin.

3.1. Créer un répertoire de projet Vagrant

Tout d'abord, nous devons créer un répertoire de projet.

Je vais créer un répertoire appelé myvagrants pour mon environnement virtuel :

$ mkdir myvagrants

Cd dans ce répertoire pour créer et stocker des machines virtuelles :

$ cd myvagrants

3.2. Initialiser l'environnement Vagrant

Initialisez l'environnement Vagrant à l'aide de la commande suivante :

$ vagrant init hashicorp/bionic64

Exemple de résultat :

Un `Vagrantfile` a été placé dans ce répertoire. Vous êtes maintenant prêt à "vagabonder" votre premier environnement virtuel ! Veuillez lire les commentaires dans le Vagrantfile ainsi que la documentation sur`vagrantup.com` pour plus d'informations sur l'utilisation de Vagrant.

La commande ci-dessus initialise le répertoire actuel en tant qu'environnement Vagrant par défaut et crée le fichier Vagrant de base.

Vous pouvez afficher le contenu du fichier vagrant nouvellement créé en utilisant cat commande et connaître les détails de la machine virtuelle que vous allez construire :

$ chat Vagrantfile | moins

Lorsque vous démarrez la VM dans les étapes suivantes, elle téléchargera la boîte bionique Ubuntu publiée par HashiCorp. L'équipe Vagrant recommande également d'utiliser les boîtes Bento . Ils sont open source et conçus pour des fournisseurs populaires tels que Virtualbox, VMWare et Parallels. HashiCorp et Bento sont les deux seuls coffrets officiellement recommandés.

3.3. Démarrer la machine virtuelle

Maintenant, créez et démarrez la machine virtuelle en fonction du fichier vagrant (que nous avons créé à l'étape précédente) à l'aide de la commande :

$ vagabond en hausse

Exemple de résultat :

Mise en place de la machine 'default' avec le fournisseur 'virtualbox'...==> default :Box 'hashicorp/bionic64' introuvable. Tentative de recherche et d'installation... par défaut :fournisseur de la boîte :virtualbox par défaut :version de la boîte :>=0==> par défaut :chargement des métadonnées pour la boîte 'hashicorp/bionic64' par défaut :URL :https://vagrantcloud.com/hashicorp/ bionic64==> par défaut :Ajout de la boîte 'hashicorp/bionic64' (v1.0.282) pour le fournisseur :virtualbox par défaut :Téléchargement :https://vagrantcloud.com/hashicorp/boxes/bionic64/versions/1.0.282/providers/virtualbox. boxDownload redirigé vers l'hôte :vagrantcloud-files-production.s3.amazonaws.com==> par défaut :boîte 'hashicorp/bionic64' (v1.0.282) ajoutée avec succès pour 'virtualbox' !==> par défaut :importation de la boîte de base 'hashicorp/ bionic64'...==> par défaut :adresse MAC correspondante pour la mise en réseau NAT...==> par défaut :vérifier si la version 1.0.282 de la boîte 'hashicorp/bionic64' est à jour...==> par défaut :Définition du nom de la VM :myvagrants_default_1597837509450_67666Vagrant est actuellement configuré pour créer des dossiers synchronisés VirtualBox avec l'option "SharedFoldersEnableSymlinksCreate" activée. Si le Vagrantguest n'est pas approuvé, vous pouvez désactiver cette option. Pour plus d'informations sur cette option, veuillez vous référer au manuel de VirtualBox :https://www.virtualbox.org/manual/ch04.html#sharedfoldersCette option peut être désactivée globalement avec une variable d'environnement :VAGRANT_DISABLE_VBOXSYMLINKCREATE=1ou dossier par dossier dans le Vagrantfile :config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate :false==> par défaut :effacement de toutes les interfaces réseau précédemment définies...==> par défaut :préparation des interfaces réseau en fonction de la configuration. .. par défaut :Adaptateur 1 :nat==> par défaut :Ports de transfert... par défaut :22 (invité) => 2222 (hôte) (adaptateur 1)==> par défaut :Booting VM...==> par défaut :En attente pour que la machine démarre. Cela peut prendre quelques minutes... Par défaut :Adresse SSH :127.0.0.1:2222 Par défaut :Nom d'utilisateur SSH :Vagabond Par défaut :Méthode d'authentification SSH :Clé privée Par défaut :Avertissement :Réinitialisation de la connexion. Nouvelle tentative... par défaut :Avertissement :Déconnexion de la connexion à distance. Nouvelle tentative... par défaut :Avertissement :Déconnexion de la connexion à distance. Nouvelle tentative... par défaut :par défaut :clé non sécurisée vagabonde détectée. Vagrant remplacera automatiquement default :ceci par une paire de clés nouvellement générée pour une meilleure sécurité. par défaut :par défaut :insertion de la clé publique générée dans l'invité... par défaut :suppression de la clé non sécurisée de l'invité si elle est présente... par défaut :clé insérée ! Déconnexion et reconnexion à l'aide d'une nouvelle clé SSH...==> par défaut :machine démarrée et prête !==> par défaut :vérification des ajouts d'invités dans la VM... par défaut :les ajouts d'invités sur cette VM ne correspondent pas à la version installée par défaut :Virtual Box ! Dans la plupart des cas, cela convient, mais dans de rares cas, cela peut être par défaut :empêcher des éléments tels que les dossiers partagés de fonctionner correctement. Si vous voyez des erreurs de dossier partagé par défaut :assurez-vous que les ajouts d'invités dans la machine virtuelle par défaut correspondent à la version de VirtualBox que vous avez installée sur votre hôte par défaut :votre hôte et rechargez votre machine virtuelle. par défaut :par défaut :Guest Additions Version :6.0.10 par défaut :VirtualBox Version :6.1==> par défaut :Montage des dossiers partagés... par défaut :/vagrant => /home/sk/myvagrants

La commande ci-dessus téléchargera la boîte bionique Ubuntu à partir du cloud Vagrant, créera une nouvelle machine virtuelle nommée "myvagrants_default_1597837509450_67666" , ajoutez-le à la Virtualbox et démarrez la VM automatiquement.

Vous ne verrez aucune notification même si la machine virtuelle est en cours d'exécution. Pour vérifier si la VM est en cours d'exécution, ouvrez l'application de virtualisation (par exemple VirtualBox ou Virt-manager) et vérifiez si la VM est en cours d'exécution ou non.

Étant donné que Vagrant utilise Virtualbox comme fournisseur par défaut, je peux voir la machine virtuelle en cours d'exécution à partir du gestionnaire de virtualbox.

Comme vous pouvez le voir, la machine virtuelle Ubuntu Bionic s'exécute dans Virtualbox.

Si vous utilisez un autre fournisseur, par exemple Virt-manager, ouvrez-le et vérifiez si la machine Vagrant est en cours d'exécution.

3.4. Accéder aux machines virtuelles

Vous pouvez vous connecter et accéder aux machines virtuelles en cours d'exécution à l'aide de SSH.

Pour SSH dans la boîte Vagrant en cours d'exécution à l'aide de la commande, exécutez :

$ vagabond ssh

Exemple de résultat :

Bienvenue dans Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) * Documentation :https://help.ubuntu.com * Gestion :https://landscape.canonical.com * Assistance :https://ubuntu.com/advantage Informations système au mer 24 août 11:56:42 UTC 2020 Charge système :0,08 Processus :88 Utilisation de / :2,5 % de 61,80 Go Utilisateurs connectés :0 Utilisation de la mémoire :11 % IP adresse pour eth0 :10.0.2.15 Utilisation de l'échange :0 % * Êtes-vous prêt pour Kubernetes 1.19 ? C'est presque ici ! Essayez RC3 avec sudo snap install microk8s --channel=1.19/candidate --classic https://microk8s.io/ contient des documents et des détails.0 packages peuvent être mis à jour.0 mises à jour sont des mises à jour de sécurité.[email protected] :~$  

3.5. Synchroniser les fichiers locaux et invités

Vagrant prend en charge la synchronisation des fichiers prête à l'emploi. Par défaut, Vagrant partage votre répertoire de projet (celui contenant le Vagrantfile. Dans mon cas, c'est ~/myvagrants .) au /vagrant répertoire dans votre machine virtuelle invitée.

Vous pouvez le vérifier en listant le contenu de /vagrant répertoire de votre machine virtuelle :

[email protected] :~$ ls /vagrant/Vagrantfile

Veuillez noter que le Vagrantfile que vous voyez à l'intérieur de la machine virtuelle est en fait le même Vagrantfile qui se trouve sur votre machine hôte actuelle.

Pour tester si la synchronisation fonctionne réellement, créez un exemple de fichier dans /vagrant répertoire sur votre machine invité :

[email protected] :~$ touch /vagrant/test.txt

Quittez la session SSH de votre VM :

[email protected] :~$ déconnexion

Maintenant, vérifiez votre répertoire de projet local dans votre système hôte. Vous verrez que le même fichier est également créé sur la machine hôte.

[email protected] :~/myvagrants$ lstest.txt Vagrantfile

3.6. Afficher l'état des machines virtuelles

Pour afficher l'état d'une machine virtuelle dans un environnement virtuel, exécutez :

Statut $ vagabond

Exemple de résultat :

États actuels de la machine :défaut en cours d'exécution (virtualbox) La VM est en cours d'exécution. Pour arrêter cette machine virtuelle, vous pouvez exécuter "vagrant halt" pour l'arrêter de force, ou vous pouvez exécuter "vagrant suspend" pour suspendre simplement la machine virtuelle. Dans les deux cas, pour le redémarrer à nouveau, lancez simplement `vagrant up`.

Comme vous le voyez ci-dessus, je n'ai qu'une seule machine virtuelle et elle est en cours d'exécution.

Si la VM est éteinte, vous obtiendrez le résultat suivant :

États actuels de la machine :mise hors tension par défaut (virtualbox) La VM est éteinte. Pour redémarrer la VM, lancez simplement `vagrant up`

3.7. Afficher l'état de tous les environnements virtuels

Nous pouvons afficher les informations sur tous les environnements virtuels connus sur notre système en utilisant la commande suivante :

$ vagrant global-statut

Exemple de résultat :

répertoire d'état du fournisseur de nom d'identifiant ------------------------------------------ -------------------------------2086482 default virtualbox poweroff /home/sk/myvagrants Ce qui précède affiche des informations sur tous les environnements Vagrant connus cette machine. Ces données sont mises en cache et peuvent ne pas être complètement à jour (utilisez "vagrant global-status --prune" pour élaguer les entrées invalides). Pour interagir avec l'une des machines, vous pouvez accéder à ce répertoire et exécuter Vagrant, ou vous pouvez utiliser l'ID directement avec les commandes Vagrant à partir de n'importe quel répertoire. Par exemple :"vagrant destroy 1a2b3c4d"

La commande ci-dessus répertorie l'identifiant de la VM, le nom, le fournisseur, l'état de la VM et le répertoire de l'environnement virtuel.

Parfois, la sortie peut être mise en cache et elle peut ne pas être correcte. Exécutez donc la commande suivante pour supprimer les entrées non valides et obtenir l'état à jour de l'environnement virtuel :

$ vagrant global-status --prune

3.8. Suspendre les machines virtuelles

Pour suspendre une VM en cours d'exécution, exécutez :

$ vagabond suspendu

Exemple de résultat :

==> par défaut :enregistrement de l'état de la VM et suspension de l'exécution…

3.9. Reprendre les machines virtuelles

Pour reprendre une VM suspendue dans l'environnement virtuel actuel, exécutez :

CV vagabond $

Exemple de résultat :

==> défaut :Reprise de la VM suspendue...==> défaut :Démarrage de la VM...==> défaut :Attente du démarrage de la machine. Cela peut prendre quelques minutes... par défaut :adresse SSH :127.0.0.1:2222 par défaut :nom d'utilisateur SSH :vagabond par défaut :méthode d'authentification SSH :clé privée ==> par défaut :machine démarrée et prête !==> par défaut :machine déjà provisionné. Exécutez `vagrant provision` ou utilisez l'indicateur `--provision`==> default:pour forcer le provisionnement. Les provisionneurs marqués pour s'exécuter toujours continueront de s'exécuter.

3.10. Redémarrer les machines virtuelles

Pour redémarrer une VM en cours d'exécution, procédez comme suit :

rechargement $ vagabond

Cette commande arrêtera gracieusement la machine virtuelle et la redémarrera.

3.11. Arrêter/Arrêter les machines virtuelles

Pour arrêter ou arrêter une VM en cours d'exécution, procédez comme suit :

$ halte vagabonde

3.12. Supprimer les machines virtuelles

Pour arrêter et supprimer toutes les traces d'une VM, exécutez :

$ vagabond détruire

Tapez y et appuyez sur ENTER pour supprimer la machine virtuelle.

Si vous souhaitez supprimer la VM sans aucune confirmation, exécutez :

$ vagabond détruire -f

3.13. Réinitialiser les machines virtuelles

Parfois, vous souhaiterez peut-être réinitialiser votre machine virtuelle à son état d'origine, sans réellement supprimer la boîte. Cela peut être utile pour déployer un environnement virtuel propre sans avoir à télécharger une boîte vagabonde encore et encore.

Pour réinitialiser une machine virtuelle à son état d'origine, faites simplement :

$ vagabond détruire
$ vagabond en hausse

La première commande arrêtera la machine virtuelle en cours d'exécution et supprimera toutes les ressources qui lui sont associées. Et la deuxième commande recréera une nouvelle machine virtuelle fraîche en utilisant la boîte de vagabondage existante.

Pour plus de détails, consultez le lien suivant :

  • Comment réinitialiser une machine virtuelle Vagrant à son état d'origine

3.14. Exécutez les commandes Vagrant depuis n'importe quel répertoire

Habituellement, nous démarrons, arrêtons, rechargeons et supprimons une machine Vagrant du répertoire de son projet, n'est-ce pas ? Oui! Cependant, nous pouvons exécuter des commandes Vagrant à partir de n'importe quel répertoire en utilisant l'ID de la machine Vagrant.

Pour trouver l'ID de la machine Vagrant, exécutez la commande suivante :

$ vagrant global-statut

Exemple de résultat :

répertoire d'état du fournisseur de nom d'identifiant ------------------------------------------ ----------------------------ddc1a10 arrêt libvirt par défaut /home/sk/Vagrant/Ubuntu2004 f4904ad arrêt libvirt par défaut /home/sk/Vagrant/Archlinux 831f9c0 arrêt par défaut de libvirt /home/sk/Vagrant/Gentoo 3587422 arrêt libvirt par défaut /home/sk/Vagrant/Rhel8 b2279ad libvirt shutdown par défaut /home/sk/Vagrant/Almalinux8 Ce qui précède montre des informations sur tous les environnements Vagrant connus sur cette machine. Ces données sont mises en cache et peuvent ne pas être complètement à jour (utilisez "vagrant global-status --prune" pour élaguer les entrées invalides). Pour interagir avec l'une des machines, vous pouvez accéder à ce répertoire et exécuter Vagrant, ou vous pouvez utiliser l'ID directement avec les commandes Vagrant à partir de n'importe quel répertoire. Par exemple :"vagrant destroy 1a2b3c4d"

Comme vous le voyez dans la sortie ci-dessus, vagrant global-status La commande affiche les détails de tous les environnements virtuels connus de mon système. La première colonne de la sortie ci-dessus affiche l'ID de chaque machine Vagrant.

Vous pouvez utiliser l'ID directement avec les commandes Vagrant à partir de n'importe quel répertoire. Par exemple, pour démarrer une machine Vagrant depuis n'importe quel répertoire, nous pouvons simplement utiliser :

$ vagabond jusqu'à b2279ad

Cela démarrera la machine vagabonde qui ID b2279ad .

De même, nous pouvons également utiliser d'autres commandes Vagrant.

$ statut de vagabond b2279ad
$ vagabond ssh b2279ad
$ arrêt vagabond b2279ad
$ vagabond détruire b2279ad

3.15. Liste des boîtes Vagabond

Pour répertorier toutes les boîtes disponibles installées avec Vagrant, exécutez :

Liste de boîtes vagabondes $

Exemple de résultat :

hashicorp/bionic64 (virtualbox, 1.0.282)

Si vous souhaitez afficher des détails supplémentaires tels que le nom de l'auteur, le site Web, le référentiel, la description, etc., utilisez -i drapeau :

$ vagrant box list -i

Exemple de résultat :

generic/alpine38 (virtualbox, 3.1.16) - Auteur :Ladar Levison - Site Web :https://roboxes.org/ - Artefacts :https://vagrantcloud.com/generic/ - Dépôt :https://github .com/lavabit/robox/ - Description :images de machine virtuelle de base, pour une variété de systèmes d'exploitation/hyperviseurs, et prêtes à servir de bxos de base.

3.16. Vérifiez si une boîte Vagrant est obsolète

Pour vérifier si la boîte que vous utilisez sur votre environnement vagrant est obsolète, allez dans l'environnement Vagrant, c'est-à-dire le répertoire du projet,

$ cd myvagrants/

et lancez :

Boîte $ vagrant obsolète Vérifier si la version '1.0.282' de la boîte 'hashicorp/bionic64' est à jour…

3.17. Mettre à jour les boîtes Vagrant

S'il y a des cases obsolètes, vous pouvez les mettre à jour comme ci-dessous :

Mise à jour de la boîte $ vagrant

Exemple de résultat :

==> default :Recherche des mises à jour de 'hashicorp/bionic64'default :Dernière version installée :1.0.282default :Contraintes de version :default :Fournisseur :virtualbox==> default :Box 'hashicorp/bionic64' (v1.0.282 ) exécute la dernière version.

3.18. Télécharger les boîtes Vagrant

L'vagrant init La commande initialise et démarre l'environnement Vagrant en téléchargeant la boîte Vagrant respective définie dans le fichier Vagrant.

Vous pouvez également télécharger manuellement la boîte Vagrant et modifier son fichier vagrant, puis la démarrer.

Pour télécharger une boîte Vagrant, exécutez :

$ vagrant box ajouter bento/debian-10.5

La commande ci-dessus téléchargera la boîte de version Debian 10.5 publiée par Bento. Il vous sera demandé de choisir le fournisseur (par exemple, virtualbox ou vmware) que vous utilisez actuellement. Choisissez-en un et appuyez sur ENTER pour télécharger la boîte.

Exemple de résultat :

Boîte
==> :Chargement des métadonnées pour la boîte 'bento/debian-10.5' :URL :https://vagrantcloud.com/bento/debian-10.5Cette boîte peut fonctionner avec plusieurs fournisseurs ! Les fournisseurs avec lesquels il peut travailler sont listés ci-dessous. Veuillez consulter la liste et choisir le fournisseur avec lequel vous travaillerez.1) parallels2) virtualbox3) vmware_desktopEntrez votre choix :2 ==> box :Ajout box 'bento/debian-10.5' (v202008.16.0) pour provider :virtualbox box :Téléchargement :https://vagrantcloud.com/bento/boxes/debian-10.5/versions/202008.16.0/providers /virtualbox.boxDownload redirigé vers l'hôte :vagrantcloud-files-production.s3.amazonaws.com==> boîte :boîte 'bento/debian-10.5' (v202008.16.0) ajoutée avec succès pour 'virtualbox'

Vous pouvez le vérifier en listant les cases disponibles :

Liste de boîtes vagabondes $

Exemple de résultat :

bento/debian-10.5 (virtualbox, 202008.16.0) hashicorp/bionic64 (virtualbox, 1.0.282)

Toutes les boîtes Vagrant téléchargées seront disponibles dans ~/.vagrant.d/boxes répertoire de votre système hôte.

3.19. Afficher la taille des boîtes Vagrant

Comme indiqué dans la section précédente, les boîtes Vagrant téléchargées sont stockées dans ~/.vagrant.d/boxes répertoire.

Vous pouvez afficher la liste de toutes les boîtes téléchargées dans ce répertoire à l'aide de la commande :

$ ls ~/.vagrant.d/boxes almalinux-VAGRANTSLASH-8 générique-VAGRANTSLASH-debian10archlinux-VAGRANTSLASH-archlinux générique-VAGRANTSLASH-gentoocentos-VAGRANTSLASH-8 générique-VAGRANTSLASH-rhel8

Pour trouver la taille des boîtes Vagrant individuelles, utilisez du commande avec -h drapeau comme ci-dessous :

589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux/20210601.24453/libvirt589M /home/sk/.vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux/20210601.24453589M /home/sk/ .vagrant.d/boxes/archlinux-VAGRANTSLASH-archlinux1.1G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-rhel8/3.3.2/libvirt1.1G /home/sk/.vagrant.d/boxes /generic-VAGRANTSLASH-rhel8/3.3.21.1G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-rhel81.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo/3.2. 24/libvirt1.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo/3.2.241.6G /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-gentoo1.6G /home/sk /.vagrant.d/boxes/centos-VAGRANTSLASH-8/2011.0/libvirt1.6G /home/sk/.vagrant.d/boxes/centos-VAGRANTSLASH-8/2011.01.6G /home/sk/.vagrant.d/ boxes/centos-VAGRANTSLASH-8998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10/3.3.4/libvirt998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10/3.3. 4998M /home/sk/.vagrant.d/boxes/generic-VAGRANTSLASH-debian10628 M /home/sk/.vagrant.d/boxes/almalinux-VAGRANTSLASH-8/8.4.20210724/libvirt628M /home/sk/.vagrant.d/boxes/almalinux-VAGRANTSLASH-8/8.4.20210724629M /home/sk/ .vagrant.d/boxes/almalinux-VAGRANTSLASH-86.4G /home/sk/.vagrant.d/boxes

Pour afficher l'utilisation récapitulative totale, exécutez :

$ du -sh ~/.vagrant.d/boxes 6.4G /home/sk/.vagrant.d/boxes

3.20. Ajouter le fichier .box téléchargé à vagrant

De nombreuses distributions Linux sont distribuées via des boîtiers Vagrant préconfigurés. Ainsi, vous pouvez rapidement saisir la boîte vagabonde et l'exécuter à l'aide de l'application de virtualisation correspondante. Pour plus de détails, consultez le guide suivant :

  • Comment ajouter un fichier .box téléchargé à Vagrant sous Linux

3.21. Créer une machine virtuelle à l'aide de la boîte Vagrant

Pour créer une nouvelle VM avec la boîte nouvellement téléchargée, allez dans le répertoire de votre projet et initialisez l'environnement vagrant avec la commande :

$ vagrant init

Attention  :Supprimez le fichier Vagrantfile existant avant d'initialiser un nouvel environnement vagrant.

Cela créera un nouveau Vagrantfile dans le répertoire courant.

Modifiez le fichier Vagrant et mettez à jour les détails de la VM et remplacez la ligne suivante :

Vagrant.configure("2") do |config|[...]config.vm.box ="base" [...]

avec ce qui suit :

config.vm.box="bento/debian-10.5"

Vous pouvez spécifier explicitement la version de la nouvelle VM en ajoutant les lignes suivantes :

config.vm.box ="bento/debian-10.5"config.vm.box_version ="1.0"

Vous pouvez même spécifier l'URL de téléchargement :

config.vm.box ="bento/debian-10.5"config.vm.box_version ="1.0"config.vm.box_url ="https://app.vagrantup.com/bento/boxes/debian-10.5/ "

Maintenant, créez et démarrez la VM basée sur ce Vagrantfile avec la commande :

$ vagabond en hausse

Alternativement, vous pouvez mentionner directement le nom de la boîte lors de l'initialisation de l'environnement Vagrant. Cela peut être utile si vous avez plus d'une boîte vagabonde.

Tout d'abord, répertoriez les boîtes vagabondes disponibles à l'aide de la commande :

$ liste de boîtes vagabondes 

Exemple de résultat :

Fedora33 (libvirt, 0)archlinux/archlinux (virtualbox, 20201201.10292)fedora33 (virtualbox, 0)generic/alpine38 (virtualbox, 3.1.16)oraclelinux/7 (virtualbox, 7.9.184)oraclelinux/8 (libvirt, 8.3 .183)

Laissez-nous vous voulez créer une machine virtuelle à partir d'une boîte nommée "generic/alpine38". Pour ce faire, lancez simplement :

$ vagrant init générique/alpine38

Cette commande créera un nouveau Vagrantfile et initialisera l'environnement vagrant avec une configuration de boîte donnée. Pas besoin de modifier manuellement Vagrantfile et de mettre à jour les détails de la boîte.

Ensuite, démarrez la machine virtuelle à l'aide de la commande :

$ vagabond en hausse

3.22. Utilisez Vagrant avec le fournisseur Libvirt KVM

Comme je l'ai déjà dit, Vagrant utilise Virtualbox pour exécuter des machines virtuelles par défaut. Il est également possible de dire à Vagrant d'utiliser un autre fournisseur, par exemple, Libvirt KVM , pour exécuter des machines virtuelles à l'aide de vagrant-libvirt brancher. Ce plugin ajoute le fournisseur Libvirt à Vagrant et permet à Vagrant de contrôler et de provisionner des machines via Libvirt. Pour savoir comment utiliser libvirt en tant que fournisseur Vagrant, consultez le guide suivant :

  • Comment utiliser Vagrant avec le fournisseur KVM Libvirt

3.23. Configurer la mise en réseau dans Vagrant

Afin de fournir un accès réseau entre les machines invitées et le système hôte, Vagrant propose les trois options suivantes :

  1. Redirection de port
  2. Réseau privé (réseau hôte uniquement)
  3. Réseau public (réseau ponté)

Chaque option a ses propres hauts et bas. Vous pouvez configurer une ou toutes les options de réseau Vagrant comme décrit dans le guide suivant :

  • Comment configurer le réseau dans Vagrant

3.24. Trouver l'adresse IP de la machine Vagrant à partir du système hôte

Afin de trouver l'adresse IP d'une machine Vagrant, nous nous y connectons généralement et trouvons son adresse IP en utilisant ip ou ifconfig commandes. Nous pouvons également obtenir directement l'adresse IP d'une machine Vagrant en cours d'exécution à partir de l'hôte, comme décrit dans le lien suivant :

  • Comment trouver l'adresse IP d'une machine vagabonde à partir de l'hôte

3.25. Augmenter la mémoire et le processeur sur la machine Vagrant

Vous rencontrez des problèmes de performances avec votre machine Vagrant ? C'est probablement à cause d'une mémoire ou d'un processeur insuffisant. Ajoutez simplement plus de RAM et de cœur de processeur à la machine Vagrant pour améliorer ses performances, comme indiqué dans le lien suivant.

  • Comment augmenter la mémoire et le processeur sur une machine vagabonde

3.26. Supprimer les boîtes Vagrant obsolètes

Vous avez peut-être téléchargé plusieurs versions de boîtes Vagrant et certaines d'entre elles sont peut-être assez obsolètes ! S'ils ne sont plus nécessaires, vous pouvez supprimer en toute sécurité les anciennes versions des boîtes Vagrant installées, comme décrit dans le lien suivant.

  • Comment supprimer les boîtes Vagrant obsolètes sous Linux

3.27. Supprimer définitivement les boîtes Vagrant

Pour supprimer une boîte vagabonde, par exemple hashicorp/bionic64, exécutez :

$ vagrant box supprimer hashicorp/bionic64

Tapez y et appuyez sur ENTER pour confirmer la suppression :

Box 'hashicorp/bionic64' (v1.0.282) avec le fournisseur 'virtualbox' semble toujours être utilisé par au moins un environnement Vagrant. Le retrait de la boîte pourrait corrompre l'environnement. Nous vous recommandons de commencer par détruire ces environnements :default (ID :20864823c72f45568d251070b5ce2661)Êtes-vous sûr de vouloir supprimer cette boîte ? [o/N] o Suppression de la box 'hashicorp/bionic64' (v1.0.282) avec le fournisseur 'virtualbox'…

Si vous ne connaissez pas le nom de la box, exécutez simplement la commande suivante pour lister toutes les box installées :

Liste de boîtes vagabondes $

À ce stade, vous devriez avoir appris les bases de l'utilisation de Vagrant. Le vagabondage est un vaste sujet et j'essaierai d'en couvrir autant que possible dans nos prochains articles. Restez à l'écoute !

4. Dépannage vagabond

Cette section traite de certains problèmes courants de Vagrant.

4.1. Vagrant n'a pas réussi à s'initialiser à un stade très précoce

Votre machine Vagrant n'a pas pu démarrer ? Pas de soucis! C'est l'un des problèmes de vagabondage les plus courants. Cela peut être dû à des plugins obsolètes ou au répertoire Vagrant HOME peut avoir été déplacé vers un autre emplacement. Pour résoudre ce problème, consultez le guide suivant :

  • Comment réparer l'erreur "Vagrant n'a pas réussi à s'initialiser à un stade très précoce" sous Linux

4.2. Impossible d'accéder au fichier de stockage, autorisation refusée Erreur dans KVM Libvirt

Parfois, vous ne pouvez pas démarrer une machine Vagrant et vous retrouver avec une erreur semblable à celle-ci - Failed to start domain 'Archlinux_default' error: Cannot access storage file '/home/sk/.local/share/libvirt/images/Archlinux_default.img' (as uid:107, gid:107): Permission denied .

Cette erreur se produit généralement lorsque le qemu l'utilisateur n'a pas l'autorisation de lecture sur le répertoire de stockage Libvirt. Pour résoudre ce problème, consultez le guide suivant :

  • [Résolu] Impossible d'accéder au fichier de stockage, erreur d'autorisation refusée dans KVM Libvirt

5. Conclusion

Dans ce guide complet, nous avons appris ce qu'est Vagrant et les terminologies vagrantes telles que les boîtes vagrantes, vagrantfile et les outils d'approvisionnement. Nous avons également appris comment installer vagrant sur les systèmes d'exploitation Linux et enfin, nous avons discuté de quelques commandes vagrant de base pour créer et gérer des machines virtuelles à partir de la ligne de commande sous Linux.

Si vous êtes un ingénieur DevOps, savoir utiliser Vagrant sera très utile. Vagrant est l'un des outils importants que vous devriez avoir sur votre système.


Linux
  1. Premiers pas avec les pare-feux Linux

  2. Premiers pas avec la commande Linux tac

  3. Premiers pas avec PiFlash :démarrer votre Raspberry Pi sous Linux

  4. Premiers pas avec la commande Linux cat

  5. Premiers pas avec PostgreSQL sous Linux

Premiers pas avec le système d'exploitation Linux

Tutoriel Docker - Premiers pas avec Docker sous Linux

Premiers pas avec Docker Compose sous Linux

Premiers pas avec VirtualBox sous Linux - Partie 1

Premiers pas avec Vagrant et VirtualBox - Partie 1

Premiers pas avec Flutter sur Linux Desktop