Outils pour utilisateurs

Outils du site


devops:vagrant

Ceci est une ancienne révision du document !


Vagrant

Un soft fort pratique pour monter des vms rapidement.

Pour le moment je m'en sert surtout pour monter des environnements de dev sur des postes … de dev. ça permet d'etre au plus pret de l'environnement de production lors des tests.

En gros je bootstrap le minimum et je deploie le reste avec chef.

Version de base, go:

Alors deja, installer votre logiciel pour les VM, de base c'est celui d'oracle, VirtualBox. On installer donc Virtual Box

Ensuite on installe vagrant, voir sur le site en fonction du systeme etc… je vais pas me prendre par la main, en effet qui lit ça a part moi franchement ?! même pas ma mere!

Donc ensuite, une fois tout ça installé:

cd /le/dossier/de/mon/projet
vagrant init

ça initinialise… non sans déc… mais ça creer surtout un fichier vagrantfile que vous allez pouvoir editer.

J'ai la flemme pour le moment alors je montre cash un exemple d'un cas ou je monte deux vm:

Script: monsite.tld
# -*- mode: ruby -*-
# vi: set ft=ruby :
 
### Variables du fichier de configuration ###
SERVEUR_1_NAME = "Serveur_1" # nom du serveur
SERVEUR_1_IP = "192.168.0.151" # son ip parceque j'aime pas le dhcp
SERVEUR_1_HOSTNAME = 'Serveur_1.fr' #son hostname
 
SERVEUR_2_NAME = "Serveur_2"
SERVEUR_2_IP = "192.168.0.152"
SERVEUR_2_HOSTNAME = 'Serveur_2.fr'
 
BOX_URL = "generic/debian9" # la box! a savoir l'os que j'ai choisi et qui est disponible sur le site de vagrant
 
Vagrant.configure("2") do |config|
 
  config.vm.define SERVEUR_1_NAME do |unsik|
    unsik.vm.box = BOX_URL
    unsik.vm.hostname = SERVEUR_1_HOSTNAME
    unsik.vm.box_url = BOX_URL
 
    unsik.vm.network :public_network, ip: SERVEUR_1_IP # public parceque j'aime bien avoir ma VM sur le meme reseau que l'hote
 
    unsik.vm.provider :virtualbox do |v|
      v.customize ["modifyvm", :id, "--memory", 1024] # 1giga de ram
      v.customize ["modifyvm", :id, "--name", SERVEUR_1_NAME] # le nom de la vm dans l'interface virtualbox
    end
  end
 
  config.vm.define SERVEUR_2_NAME do |shit|
    shit.vm.box = BOX_URL
    shit.vm.hostname = SERVEUR_2_HOSTNAME
    shit.vm.box_url = BOX_URL
 
    shit.vm.network :public_network, ip: SERVEUR_2_IP
 
    shit.vm.provider :virtualbox do |v|
      v.customize ["modifyvm", :id, "--memory", 1024]
      v.customize ["modifyvm", :id, "--name", SERVEUR_2_NAME]
    end
  end
 
  config.vm.provision :shell, path: "bootstrap.sh" # un script bash que j'ai mis dans le même repertoire que le vagrant file
  # ce script sera eecuté apres la creation des deux VM et sur chacune d'entres elles. Si je met ces lignes dans les balises
  # config.vm.define et le end, le script ne sera executé que par la dite VM. ATTENTION a l'ordre si vous en avez plusieurs
 
end
devops/vagrant.1538597254.txt.gz · Dernière modification: 2018/10/03 22:07 par draak