
Cette section met en pratique ce que la précédente a expliqué. Vous montez un lab de quatre machines, vous y connectez Ansible, vous lancez vos premières commandes, puis vous écrivez le playbook qui installe un serveur web. Sept guides et un quiz. À la fin, vous disposez d'un environnement de travail qui servira à tout le reste du parcours, et chaque commande y aura été exécutée sur de vraies machines.
Prérequis
Section intitulée « Prérequis »Cette section suppose acquise la précédente, Découvrir Ansible : le modèle déclaratif, l'exécution en SSH, et ansible-core installé sur votre poste.
Le reste concerne votre machine, car les quatre serveurs du lab tourneront chez vous. Il vous faut un Linux avec KVM et libvirt opérationnels, la commande virt-install disponible, environ 8 Gio de mémoire libre et 40 Gio d'espace disque. Prévoyez enfin une paire de clés SSH, en Ed25519 de préférence ; si vous n'en avez pas, la page Créer et gérer des clés SSH s'en occupe en quelques minutes.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »Ces acquis sont pratiques, pas théoriques : chacun se vérifie en tapant une commande et en regardant ce qu'elle affiche.
- Provisionner quatre machines AlmaLinux 9 sur KVM en quelques minutes.
- Préparer un serveur pour qu'Ansible puisse le piloter : compte dédié, clé SSH,
sudo, Python. - Écrire votre premier inventaire, d'abord au format INI puis en YAML, et vérifier qu'Ansible le lit comme vous l'entendez.
- Établir la connexion, jusqu'au premier
pongobtenu sans saisir de mot de passe. - Lancer des commandes ad hoc pour agir sur un groupe de serveurs sans écrire de fichier.
- Écrire un premier playbook, le relancer, et constater le
changed=0qui prouve son idempotence. - Décoder les erreurs des premiers jours, de
Permission denied (publickey)aux fautes d'indentation.
Un mot avant de commencer : cette section ne se lit pas, elle se fait. Lire un playbook ne le fait pas tourner, et la compétence se construit en réparant ses propres erreurs de connexion, pas en parcourant celles des autres.
Le lab que vous allez monter
Section intitulée « Le lab que vous allez monter »Quatre machines suffisent à couvrir l'essentiel, y compris les objectifs de la certification. Elles vivent sur un réseau libvirt isolé en 10.10.20.0/24, avec des adresses fixes pour que rien ne bouge d'une session à l'autre.
| Machine | Adresse | Rôle |
|---|---|---|
control-node.lab | 10.10.20.10 | Le poste depuis lequel Ansible pilote les autres |
web1.lab | 10.10.20.21 | Serveur web, groupe webservers |
web2.lab | 10.10.20.22 | Second serveur web, même groupe |
db1.lab | 10.10.20.31 | Base de données, groupe dbservers |
Deux détails de cette topologie comptent plus qu'ils n'en ont l'air. Deux machines dans le même groupe, ce qui permet d'exercer les motifs de sélection d'hôtes et de voir Ansible travailler en parallèle. Et un poste de contrôle séparé, qui reproduit la situation réelle où l'on pilote des serveurs distants plutôt que sa propre machine.
Le parcours, dans l'ordre
Section intitulée « Le parcours, dans l'ordre »Ces guides se suivent, chacun s'appuyant sur le précédent. C'est la seule section du parcours où l'ordre est vraiment contraignant : sans lab, pas de connexion ; sans connexion, pas de playbook.
Monter et connecter le lab
Section intitulée « Monter et connecter le lab »Agir sur les serveurs
Section intitulée « Agir sur les serveurs »Prendre les bons réflexes
Section intitulée « Prendre les bons réflexes »Ces trois guides ne sont pas des annexes. Ils installent des habitudes qu'il est bien plus facile d'acquérir maintenant que de rattraper plus tard, quand vos playbooks auront grossi.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Premier inventaire : décrire les machines à piloter, première étape avant toute exécution.
- Première connexion SSH : la chaîne de clés qui conditionne tout le reste du parcours.
- Premier playbook : le passage de la commande jetable au fichier rejouable et idempotent.