Ce que tu vas faire
Installer une machine à la main prend du temps, et personne ne se souvient de toutes les étapes. Ansible est un outil où tu écris, dans un fichier appelé playbook, comment la machine doit être. Ansible fait ensuite en sorte qu’elle soit comme ça. Tu vas regarder un projet, lire un playbook, le lancer et poser une question à Ansible sur la machine. Tu ne finiras pas le playbook : c’est la tâche du lab.
Avant de commencer
Remarque
Appuie sur Démarrer le lab dans la barre en haut de cette leçon. Ce lab est une machine Ubuntu entière, rien que pour toi. Elle met donc un peu plus de temps à démarrer qu’un conteneur. Chaque bouton Exécuter ci-dessous tape sa commande dans le terminal de la machine, l’une après l’autre. Si l’un d’eux dit que la machine démarre encore, attends quelques secondes et appuie de nouveau. Pour les voir agir, ou pour taper tes propres commandes, appuie sur Ouvrir le terminal (nouvel onglet) dans la barre.
1. Regarde le projet
Le lab laisse un dossier, ansible-lab, dans ton dossier personnel. ls -l liste son contenu. site.yml est le playbook. inventory.ini dit quelles machines Ansible gère (seulement celle-ci). ansible.cfg contient ses réglages. templates garde un fichier avec un trou à compléter.
ls -l ansible-labAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
2. Lis le playbook
Un playbook est une liste de tâches, écrites en YAML. Celui-ci a une seule tâche, qui affiche un message, et une variable, site_name, qui vaut Riverside College. En dessous, trois lignes TODO marquent la place des trois travaux du lab.
cat ansible-lab/site.ymlAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
3. Lance-le
ansible-playbook lit le playbook et fait ce qu’il dit. Les dernières lignes forment le bilan : ok=2 veut dire que deux tâches se sont bien passées, et changed=0 veut dire que rien n’a changé, car afficher un message ne change rien. Quand la machine est dans le bon état, un bon playbook affiche changed=0 à chaque lancement. On dit qu’il est idempotent.
ansible-playbook -i ansible-lab/inventory.ini ansible-lab/site.ymlAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
4. Pose une question à un module
Chaque tâche utilise un module, un petit programme qui fait une seule chose. stat regarde un fichier ou un dossier. Si on l’interroge sur /etc/ansible-lab, le dossier que le lab veut créer, il répond "exists": false et "changed": false : il a regardé et n’a rien touché.
ansible localhost -i ansible-lab/inventory.ini -m ansible.builtin.stat -a path=/etc/ansible-labAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Maintenant, fais le lab
Astuce
Tu as vu ce qui manque : un paquet, un fichier et un fichier d’unité (le fichier qui décrit un service pour systemd). Les ajouter au playbook, c’est la tâche de ce lab. Ouvre README.md dans ton dossier personnel avec cat README.md dans le terminal. Il explique quoi faire et ne donne aucune réponse.
Pour les enseignants
Astuce
Cette leçon est un petit exemple de leçon travaillée dans un lab : les étapes et les boutons Exécuter forment la leçon, et le lab est la copie de chaque élève. Ici, c’est un lab de machine virtuelle : chaque élève a sa propre machine Ubuntu avec Ansible, et un bouton Exécuter tape dans son terminal et montre ce qui s’est affiché. Le lab a une vérification qui lance deux fois le playbook de l’élève et note ce qu’il a créé, et si le second lancement n’a rien changé. Copie la leçon dans ton propre module et modifie-la, ou crée-en une depuis zéro avec le menu Lab de l’éditeur de leçons.