I Introduction

I.1 Résumé

Vagrant permet de mettre en œuvre un environnement de développement et de tests très rapidement.

Ce type de solution permet de travailler à partir de bases de configurations communes. Ce qui permet, entre autres, de faciliter et de développer des produits ou des process d’industrialisation sur des plateformes qui se rapprochent au plus près des celles mise en production par exemple.

 

I.2 Ressources

Tutoriel en français : https://www.grafikart.fr/tutoriels/hebergement/vm-vagrant-chef-solo-482

Téléchargement : https://www.vagrantup.com/downloads.html

Box « officielle » de « base » sur le cloud de Vagrant : https://atlas.hashicorp.com/bento

II Installation

Exécuter le MSI. Suivant … Suivant jusqu’à la fin. Un reboot est nécessaire.

Les fichiers sont localisés dans le répertoire « C:\HashiCorp\Vagrant » et la structure des répertoires installés doit ressembler à celle-ci :

 

III Installation d’un premier environnement

III.1 Introduction

Vagrant propose un cloud public dédié au « box » à l’adress suivante : https://vagrantcloud.com/

Création à partir d’un paquetage de VM déjà existant. Choix d’une infrastructure comportant :

  • centos 7
  • Apache MariaDb et php

Lien de la box : https://atlas.hashicorp.com/Gigasavvy/boxes/centos7-LAMP

  • Nom de la box : Gigasavvy/centos7-LAMP

III.2 Création d’une BOX s’appuyant sur VirtualBox

III.2.1 Déclaration de la box

Lancer une console Powershell

Créer un répertoire dédié. Ici ce sera sous « d:\vagrant ». Puis ce placer dans ce répertoire.

Pour télécharger la box, il faut utiliser la commande « vagrant init » puis « vagrant add nom_box »

un raccourci fonctionne également « vagrant init nom_box ».

Exemple :

PS D:\vagrant> vagrant init Gigasavvy/centos7-LAMP
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

A ce stade un fichier « Vagrantfile » a été crée ainsi que le répertoire « .vagrant » à la racine de « d:\vagrant ».

Ce répertoire correspond à la box. Pour utiliser une autre box, il faut créer un autre répertoire et faire de même.

III.2.2 Lancement de la box

Ensuite il faut « monter » la box via la commande « vagrant up ».

Dans un premier temps le téléchargement à partir d’internet va s’effectuer (qu’au premier lancement).

PS D:\vagrant> vagrant up --provider virtualbox
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'Gigasavvy/centos7-LAMP' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'Gigasavvy/centos7-LAMP'
    default: URL: https://atlas.hashicorp.com/Gigasavvy/centos7-LAMP
==> default: Adding box 'Gigasavvy/centos7-LAMP' (v0.0.7) for provider: virtualbox
    default: Downloading: https://atlas.hashicorp.com/Gigasavvy/boxes/centos7-LAMP/versions/0.0.7/providers/virtualbox.box
    default: Progress: 29% (Rate: 2496k/s, Estimated time remaining: 0:07:23)

puis :

    default: Progress: 100% (Rate: 1621k/s, Estimated time remaining: --:--:--)
==> default: Successfully added box 'Gigasavvy/centos7-LAMP' (v0.0.7) for 'virtualbox'!
==> default: Importing base box 'Gigasavvy/centos7-LAMP'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'Gigasavvy/centos7-LAMP' is up to date...
==> default: Setting the name of the VM: vagrant_default_1490687314128_38791
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 5.0.14
    default: VirtualBox Version: 4.3
==> default: Mounting shared folders...
    default: /vagrant => D:/vagrant
PS D:\vagrant>

La VM est montée.

III.2.3 Accès de la box via ssh

L’accès peut se faire via ssh en ligne de commande via la commande « vagrant ssh ». Ce qui donne l’exemple suivant :

Il est également possible de voir que la VM est présente sous Virtual BOX (mais dans un premier temps à ce niveau).

Pensez dans VirtualBox à modifier la carte réseau et à rajouter une redirection de port 80 par exemple pour accéder au serveur web de la Box via un navigateur. Ceci pour tester dans un premier temps le service web de la BOX car la redirection de ce port peut se faire automatiquement via une directive du fichier de configuration « Vagrantfile ».

III.2.4 Dossier synchronisés entre Hôte et Box

Tous les fichiers placés dans la box sous le répertoire « /vagrant » vont se retrouver sur l’Hôte (dans mon cas windows 7) dans le répertoire « d:\vagrant\ ».

Ainsi il est très facile de déplacer des fichiers entre Hôte et Box par ce biais.

III.2.5 Arrêt de la Box

Il faut utiliser la commande « vagrant destroy »

rem : la VM n’est pas détruite !!!

PS D:\vagrant> vagrant destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
PS D:\vagrant>

III.2.6 Suppression de la Box

Pour supprimer la VM il faut utiliser la commande « vagrant box remove nom_de_la_box ».

Exemple :

PS D:\vagrant> vagrant box remove Gigasavvy/centos7-LAMP
Removing box 'Gigasavvy/centos7-LAMP' (v0.0.7) with provider 'virtualbox'...

 

IV Informations complémentaires

IV.1 Commandes de gestion d’une box

  • vagrant up : démare une box
  • vagrant suspend : gèle l’activité de la box
  • vagrant halt : éteint l’hôte avec douceur (arrêt du système)
  • vagrant destroy : arrêt brutal de la box (arrêt brutal de l’OS, enregistrement dans virtual box effacé ainsi que les fichiers temporaires associés)

IV.2 A voir/approfondir

 

 

Vagrant : première mise en main

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *