Vagrant - capabdou/guide-devops GitHub Wiki

https://developer.hashicorp.com/vagrant/docs https://github.com/diranetafen/static-website-example https://github.com/eazytrainingfr/

Vagrant list-commands Vagrant global-status

TP-1

  • Créez un dossier lab-1
  • Déplacez-vous dans ce dossier
  • Initialisez vagrant : vagrant init ubuntu/trusty64
  • Démarrez la VM: vagrant up
  • Connectez vous en ssh : vagrant ssh
  • Arretez la vm puis supprimez là: exit, vagrant halt, vagrant destroy

Vagrant Boxes: Box File Box Catalog Metadata Box information

Vagrant Boxes: Install Vagrant Box 1er méthode: Vagrant box add --name ubuntu "url" NB avec cette méthode on n'a pas d'information sur les metadatas c'est pour cela qu'il n'est pas très conseillé 2ieme méthode: vagrant box add ubuntu/trusty64 NB ici on met directement le nom de la vboxe qui existe directement sur l'infra de vagrant cloud 3ieme methode: vagrant box add https://app.vagrantup.com/ubuntu/boxes/trusty64 NB on fait appel à l'url de la vboxe

Vagrant Boxes: Box Version vagrant box add ubuntu/trusty64 --box-version=20190429.0.1 Pour telecharger une version particulière

TP-2

  • Creez un dossier lab-2
  • Deplacez vous dans ce dossier
  • Initialisez vagrant en utilisant la version 20190514.0.0 ubuntu/trusty64:
  • Vagrant init ubuntu/trusty64 -h pour connaitre la commande pour les versions
  • vagrant init ubuntu/trusty64 --box-version 20190514.0.0

Demarrez la VM

  • Vagrant up Connectez vous en ssh
  • Vagrant ssh Installez nginx
  • Sudo apt-get update
  • Sudo apt-get install Démarrez le service et activez son démarage au lancement de la VM Creez une vbox à partir de cette VM Creez un compte sur vagrant cloud Publiez votre vbox sur vagrant cloud sous le nom /nginx en version v1

Pour un vbox à partir du vm : vagrant package --output nginx.box

Vagranfile: Vagrant init Vagrant init -m pour un modèle minimale

TP-3

  • Créez un dossier lab-3
  • Déplacez-vous dans ce dossier
  • Créez un vagrantfile afin de configurer la VM à partir des informations suivantes:
  • Image de base: centos 7 by geerlingguy
  • CPU: 2
  • RAM: 2 Go
  • Variabilisez les paramètres indiquées ci-dessus
  • Connectez-vous en ssh
  • Arrêtez la VM puis supprimez la

Vagrant validate pour s'assurer que la config est bonne

Lab-5 Déploiement d'un serveur web

  • Créez un dossier lab-5
  • Déplacez-vous dans ce dossier
  • Créez un vagrantfile afin de configurer 3 VMs à partir des informations suivantes
  • Image de base: ubuntu/xenial64
  • CPU : 1
  • RAM: 1 Go
  • VM1: Ib, ip: 10.0.0.10
  • VM2: web1, ip: 10.0.0.11
  • VM3: web2, ip: 10.0.0.12
  • Connectez-vous en ssh sur chacune d'elles
  • Arrêtez les VMs puis supprimez les

Lab-6 : Plugin

  • Créez un dossier lab-6
  • Déplacez-vous dans ce dossier
  • Créez un vagrantfile afin de configurer 3 VMs à partir des informations suivantes
  • Image de base: ubuntu/xenial64
  • CPU : 1
  • RAM: 1 Go
  • VM1: Ib, ip: 10.0.0.10
  • VM2: web1, ip: 10.0.0.11
  • VM3: web2, ip: 10.0.0.12
  • Installez et utilisez le plugin vagrant-hostsupdater afin qie le fichier hosts de chaque machine corresponde à la réalité de leur nom et de leur IP malgré les actions UP, RESUME et RELAOD (lisez la doc pour mieux comprendre son utilité)
  • Lors du vagrant up, verifiez que le plugin est bien appelé
  • Connectez-vous en ssh sur chacune d'elles
  • Arrêtez les VMs puis supprimez les

Lab-7 : Webapp Folder

  • creez un dossier lab-7
  • Déplacez-vous dans ce dossier
  • Creez un vagrantfile afin de configurer 1 VMs à partir des informations suivantes
  • Images de base: /nginx(vagrant box creee au lab-2)
  • Cpu:1
  • Ram: 1Go
  • IP fixe: 10.0.0.10
  • Récupérez en local dans votre dossier lab-7 l'application static-website-example (https://github.com/diranetafen/static-website-example)
  • Montez le code de l'application par le moyen de votre choix dans le dossier /var/www/html de la VM
  • Vérifiez que le site récupéré depuis GitHub est bien accessible
  • Arrêtez la VM puis supprimez la

**Lab-8 ** : Shell

  • Créez un dossier lab-8
  • Déplacez-vous dans ce dossier
  • Créez un vagrantfile afin de configurer 3 VMS à partir des informations suivantes:
  • CPU : 1
  • RAM : 1Go
  • VM1: lb, ip:10.0.0.10, exécutez le script suivant
  • VM2: web1, ip:10.0.0.11, exécutez le script suivant
  • VM3: web2, ip:10.0.0.12 exécutez le script suivant
  • N'hésitez pas à lire le script pour mieux comprendre les opérations exécutées
  • Accédez à l'interface web de chaque serveur et confirmez que l'application bien démarrez
  • Arrêtez les VM puis supprimez les

Lab-9 : Installation de nginx à l'aide d'ansible

  • Creez un dossier lab-9
  • Déplacez vous dans ce dossier
  • Créez un vagrantfile afin de configurer 1VMs à partir des informations suivantes
  • Image de base:ubuntu/xenial64 ou tout OS de votre choix
  • CPU : 1
  • RAM : 1 Go
  • IP fixe : 10.0.0.10
  • Ecrivez un playbook s'appelant nginx.yaml qui permettra d'installer nginx et le démarrer
  • Vous devrez vous baser sur ansible-local pour que le playbook soit execute dans la VM
  • Vérifiez que la page par defaut de nginx est bien accessible via le navigateur
  • Arretez la VM puis supprimez la

Apt-get install python3-pip

⚠️ **GitHub.com Fallback** ⚠️