TP pour Playbook Ansible Part 1.2.2

ansible-playbook
ansible-playbook

Pour ce TP, nous allons créer un playbook Ansible qui configure un serveur Nginx sur deux machine virtuelle gérée par Vagrant. Assurez-vous d’avoir effectuer les TP précédents 1.1 concernant vagrant 1.2 et ansible puis suivez les étapes ci-dessous :

Étape 1: Modification de Vagrantfile

Ajoutez la configuration suivante à votre Vagrantfile pour rediriger les ports et désactiver les mises à jour automatiques des additions invité :

{
    "name": "bullseye",
    "cpus": 2,
    "distro": "debian",
    "family": "debian",
    "gui": false,
    "box": "generic/debian11",
    "ip_addr": "192.168.56.2",
    "memory": "2048",
    "no_share": false,
    "app_port": "80",
    "forwarded_port": "8003",
    "app_port": "443",
    "forwarded_port": "8443"
},
{
    "name": "focal",
    "cpus": 2,
    "distro": "ubuntu",
    "family": "debian",
    "gui": false,
    "box": "ubuntu/focal64",
    "ip_addr": "192.168.56.3",
    "memory": "2048",
    "no_share": false,
    "app_port": "80",
    "forwarded_port": "8010",
    "app_port": "443",
    "forwarded_port": "9443"
},

Rechargez la configuration de la machine Vagrant :

vagrant reload --provision bullseye focal

Étape 2: Création des fichiers nécessaires

Connectez-vous à la machine Vagrant :

vagrant ssh bullseye

Créez les fichiers nécessaires pour l’ultime playbook et les modèles Jinja :

touch webservers.yml nginx.conf.j2 index.html.j2
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj /CN=localhost -keyout nginx.key -out nginx.crt

fichiers inventory d'ansible

On ajoute un groupe de serveur, composé de bullseye et focal, dans notre fichier inventory (serveur.ini) avec une verification grace à ansible-inventory
Dans l’article, suivant nous verrons en détails l’inventory.

Vous trouverez tous ces fichiers sur mon repot git. Si vous savez pas comment faire pour récupérer les fichiers je vous revoie sur l’ancien article Maximiser l’Efficacité de Vagrant : Configuration Avancée et Intégration de Services Part 1.2 ou Meilleur commande GIT Bash CLI.

Étape 3: Exécution du Playbook

Sur la machine Vagrant, exécutez le playbook Ansible :

#Verification
ansible-playbook --syntax-check webservers.yml#Execution
ansible-playbook webservers.yml

Resultat :

Resulatat du bonne exécution du TP playbook ansible

Cela devrait configurer Nginx avec les redirections de port que vous avez définies dans le Vagrantfile et les certificats TLS que vous avez générés.

http://Localhost:8003

https://Localhost:8443

Sur votre navigateur web pour bullseye

http://Localhost:8010

http://Localhost:4431

Sur votre navigateur web pour Focal

Étape 3.2: Installation de « cowsay » sur la machine

Installez le package « cowsay » sur la machine et configurez Ansible pour utiliser « cowsay » pendant l’exécution du playbooks :

sudo apt-get update
sudo apt-get install cowsay -y

Ajoutez les lignes suivantes à la suite du fichier ansible.cfg (ou décommentez-les) :

[cowsay]
cow_selection = random
cowsay_enabled_stencils=cow,bunny,kitty,koala,moose,sheep,tux

N’hésitez pas à ajuster le playbook et les fichiers de configuration selon vos besoins et réexécuter l’étape 3.

Ce qui donne :

Résultat d'un Tp ansible playbook

et en résultat :

Résultat d'un Tp ansible playbook

4. Debug

problème de port vagrant pour playbook ansible

Si vous avez ce genre de problème n’hésitez pas à changer de port à votre guise. En effet, il existe des port qui sont réservés par votre système.

N’oubliez pas le httpS://localhost:4431, un fois fait vous arriverez à l’étape 3

Inspirer du livre ANSIBLE Up & Running

Automation Experts

Rejoignez-nous pour une newsletter exclusive sur l'automatisation des experts informatique !

Obtenez les dernières tendances, astuces et outils pour optimiser vos processus, accélérer vos projets et libérer tout le potentiel de l'automatisation dans le monde de la technologie. Abonnez-vous dès maintenant pour rester à la pointe de l'innovation et transformer votre manière de travailler."

Comments

No comments yet. Why don’t you start the discussion?

    Alors tu en pense quoi de cette article ? Dis-moi tous..