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