Aller au contenu
Infrastructure as Code medium

Modules Ansible : FQCN, collections et cartographie pour le RHCE

10 min de lecture

Logo Ansible

Le moteur d'Ansible orchestre, mais ce sont les modules qui agissent. Chacun sait faire une chose et une seule : poser un fichier, installer un paquet, démarrer un service, ouvrir un port. Il en existe des milliers, dont vous n'utiliserez qu'une petite trentaine. Cette section est la carte de ceux qui comptent, classés par domaine, avec pour chacun ses options réelles et son comportement d'idempotence.

Il faut savoir écrire un play et lui passer des variables, ce que couvre la section Écrire du code. Un module s'appelle depuis une tâche, et ses paramètres sont du YAML comme le reste.

  • Trouver le bon module pour un besoin donné, sans deviner ni fouiller le web.
  • Lire sa documentation depuis votre machine, dans la version exactement installée chez vous.
  • Reconnaître les modules idempotents de ceux qui ne le sont pas, et savoir encadrer les seconds.
  • Manipuler fichiers, paquets, services, utilisateurs, réseau et stockage avec le module adapté plutôt qu'avec une commande brute.

Avant les modules eux-mêmes, la méthode. Ce guide explique comment chercher, comment lire la documentation embarquée, et pourquoi le nom complet d'un module compte autant.

Sept familles, à consulter au besoin plutôt qu'à lire d'affilée. Les trois premières couvrent l'essentiel de ce que vous ferez au quotidien, les suivantes se consultent le jour où le besoin se présente.

Poser du contenu sur une machine, ou en modifier une partie sans écraser le reste. C'est la famille la plus utilisée, et celle où le choix du module change tout : générer un fichier entier ou retoucher une ligne ne se traite pas de la même façon.

  • copy : déposer un fichier ou un contenu littéral.
  • file : créer un répertoire, un lien, ou fixer des permissions.
  • lineinfile : garantir la présence d'une ligne unique.
  • blockinfile : gérer un bloc délimité dans un fichier partagé.
  • replace : substituer toutes les occurrences d'un motif.
  • fetch : rapatrier un fichier depuis les machines gérées.
  • archive et unarchive : compresser et déployer une archive.

Installer un logiciel et le faire tourner, avec la question qui revient toujours : comment rester compatible entre distributions.

Créer les comptes et leur donner les bons accès, sans se verrouiller dehors au passage.

  • user : comptes, mots de passe, appartenances.
  • group : groupes système.
  • authorized_key : clés SSH autorisées.
  • sudoers : règles d'élévation, avec validation avant écriture.

Tout ce qui touche au socle de la machine. C'est aussi la famille la plus risquée : une règle de pare-feu ou une table de partitions se répare rarement à distance.

  • firewalld : zones, services et ports.
  • SELinux : mode, booléens, contextes.
  • mount : montages et persistance dans fstab.
  • LVM : la chaîne complète du disque au point de montage.
  • parted : partitionner un disque.
  • filesystem : formater, et la protection contre l'écrasement.
  • sysctl : paramètres noyau.
  • hostname : nom de la machine.
  • getent : interroger les bases système.
  • reboot : redémarrer et attendre le retour.
  • get_url : télécharger un fichier, avec vérification d'empreinte.
  • uri : appeler une API depuis un playbook.

Regarder avant d'agir, attendre qu'une condition soit remplie, ou arrêter le play quand une hypothèse est fausse.

Cette section n'a pas encore sa page de quiz dédiée, mais ses 74 questions existent déjà dans la banque commune.

  • Module copy : le module le plus employé de la sous-section fichiers, avec son idempotence par checksum.
  • Module package : installer un paquet sans écrire le nom du gestionnaire de la distribution dans le playbook.
  • Module systemd_service : démarrer et activer le service, suite logique de toute installation de paquet.
  • Module user : la porte d'entrée des modules de comptes et de privilèges.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn