Créer une VM Vagrant sous Windows

1 février 2016 Virtualisation 0 Commentaire

Vagrant est un outil open-source vous permettant de déployer des machines virtuelles, appelées boxes, et de les administrer depuis un terminal. Vous pourrez donc, et ce extrêmement rapidement, mettre en place des environnements de test et de développement.

Vagrant nécessite d’avoir un logiciel de virtualisation d’installé à ses cotés, cependant depuis la version 1.1 celui-ci n’est plus seulement lié a VirtualBox mais prend aussi en charge VMware. Étant donné que le plugin permettant l’utilisation de VMware est payant nous travaillerons avec VirtualBox.

 

Si ce n’est pas déjà fait commencez donc par installer les outils suivants :

 

Initialisation de vagrant sous Windows

Créer un dossier pour votre projet, par exemple D:Vagrant\Project\Ubuntu_Trusty64  puis ouvrez une invite de commandes dans ce dossier (shift + clic droit > Ouvrir une fenêtre de commandes ici).

 

Utilisation de vagrant sous Windows

Les deux principales commandes que vous devez connaitre afin de déployer et démarrer des serveurs sont vagrant init et vagrant up.

Rendez vous sur le Vagrant Cloud afin d’observer la liste des différentes boxes crées par les utilisateurs. Dans cet exemple nous partirons sur la box « ubuntu/trusty64 » qui est la boxe officiel d’Ubunty Server. Il nous suffit donc de lancer les commandes suivantes

vagrant init ubuntu/trusty64
vagrant up

 

Vagrant va télécharger la box, la configurer, l’installer et enfin démarrer la VM Vagrant

D:Vagrant\Project\Ubuntu_Trusty64>vagrant init ubuntu/trusty64
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.


D:Vagrant\Project\Ubuntu_Trusty64>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: Clearing any previously set forwarded ports...
==> 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:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> 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: 4.3.34
    default: VirtualBox Version: 5.0
==> default: Mounting shared folders...
    default: /vagrant => D:/Vagrant/Project/Ubuntu_Trusty64

 

Accéder au serveur

Maintenant que la VM Vagrant est prête, nous souhaitons nous y connecter via le protocole SSH. L’output de la commande vagrant up nous a déjà donné quelques informations concernant l’IP et le port à utiliser mais ce n’est pas suffisant. Il existe une commande parfaite

vagrant ssh-config

 

Celle ci vous donne tous les détails nécessaire à une connexion via KiTTy/PuTTy ou autre

D:Vagrant\Project\Ubuntu_Trusty64>vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile "D:Vagrant\Project\Ubuntu_Trusty64/.vagrant/machines/default/virtualbox/private_key"
  IdentitiesOnly yes
  LogLevel FATAL

 

Vous avez maintenant toutes les informations nécessaires : IP, port, nom d’utilisateur, pas de mot de passe et la localisation de la clef privée.

Pour stopper une VM

vagrant halt

 

Pour supprimer une VM Vagrant

vagrant destroy