Vagrant – Initialiser une VM

En tant que développeur, je teste pas mal de choses. J’installe, je bidouille et parfois, je désinstalle. Au final, mon PC se retrouve pollué par toutes ces choses non utiles.

Pour conserver une machine dans un état pas trop mauvais, j’ai donc décidé de passer, comme beaucoup, aux machines virtuelles.

J’installe une VM avec l’OS de mon choix (très souvent une distribution Linux), je la lance le temps de mes tests et une fois que j’ai terminé, soit je la supprime, soit je l’archive.

Le plus long dans ce cas est de paramétrer la VM puis d’y installer tout ce dont j’ai besoin, tâche qui peut vite s’avérer fastidieuse.

Je me suis alors tourné vers les solutions de virtualisation et j’ai découvert des solutions assez fun comme Vagrant ou Ansible.

On va donc voir comment installer facilement une VM avec une distribution Ubuntu Server 16.04, Kibana et ElasticSearch.

La première étape est d’installer Vagrant sur la machine qui va héberger la VM. L’installeur se trouve à l’adresse : https://www.vagrantup.com/downloads.html

Vagrant utilise un système de « box » qui contiennent un OS complet plus quelques options en fonction du résultat attendu.

Sur le site Vagrant, il y a un annuaire qui recense toutes les box disponible. Cet annuaire se trouve à l’adresse https://atlas.hashicorp.com/boxes/search?_ga=1.65962158.1280280004.1486837010

Il suffit de faire une recherche pour trouver la box qui nous intéresse : https://atlas.hashicorp.com/ubuntu/boxes/xenial64

Ensuite, il faut dire à Vagrant de télécharger cette box et de la stocker dans son référentiel local. Ainsi, à chaque nouvelle installation, on pourra économiser le temps de téléchargement de l’OS.

Vagrant box add elastic/ubuntu-16.04-x86_64

Pour faire tourner une VM, il faut un logiciel de virtualisation. Pour cet article, on va utiliser VirtualBox, la solution gratuite d’Oracle. Mais il faut savoir que Vagrant peut aussi fonctionner avec d’autres logiciels comme VMWare par exemple.

VirtualBox se trouve à l’adresse suivante : https://www.virtualbox.org/wiki/Downloads

Une fois le téléchargement terminé, on va pouvoir s’occuper d’initialiser notre projet.

Avant de commencer, je me permets de recommander un logiciel qui permet de s’affranchir de la fenêtre DOS si vous êtes sous Windows : cmder (http://cmder.net/ ).

Ce logiciel propose une coloration syntaxique et quelques options qui nous facilitent la vie si vous avez l’habitude de travailler avec Putty (par exemple).

Il faut créer le répertoire sur le disque dur qui va contenir les fichiers de configuration et de mise en place de la VM.

Le premier fichier de configuration à créer se nomme Vagrantfile et doit être positionné à la racine du répertoire choisi. Il peut être créé automatiquement par Vagrant avec la commande suivante :

vagrant init

Le contenu de ce fichier est le suivant (une fois purgé des commentaires) :

# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.

Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.
  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  config.vm.box = "base"
end

Ce fichier peut être simplement modifié pour le paramétrage de base de notre VM. Par exemple :

# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.

Vagrant.configure("2") do |config|
  #Nom de la box téléchargée précédemment
  config.vm.box = "elastic/ubuntu-16.04-x86_64"
  #Désactivation des mises à jour automatiques
  config.vm.box_check_update = false

  #Configuration de la VM, liée au logiciel de virtualisation installé
  config.vm.provider "virtualbox" do |vb|

    #Nom de la VM
    vb.name = " FirstVM"
    #Mémoire vive allouée à la VM, exprimée en Mo
    vb.memory = "4096"
    #Nombre de CPU alloués à la VM
    vb.cpus= "4"
  end
end

Rien qu’avec ces quelques lignes, si on lance la commande suivante

vagrant up

L’installation de la VM va débuter et une fois installée, elle sera démarrée.

Une fois démarrée, il est alors possible de se connecter en SSH sur la VM, soit avec Putty, soit avec la commande

vagrant ssh

Pour se connecter, par défaut, la VM est installée sur l’adresse IP 127.0.01. Les identifiants en sont vagrant/vagrant.

Le répertoire dans lequel se trouve le Vagrantfile est aussi un répertoire partagé avec la VM. Tous les fichiers qui s’y trouvent sont également accessibles via /vagrant.

 

A propos Benjamin

Développeur Java, évangéliste du logiciel libre auprès de mes proches, j'essaie de concilier tout ça avec la curiosité qui m'a toujours fait avancer.
Ce contenu a été publié dans Elasticsearch, Industrialisation, Kibana, Vagrant, avec comme mot(s)-clé(s) , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.