Automatisation de l'administration système : Ansible, Rundeck et CTFreak

Un outil qui décrit l'état voulu des serveurs, un autre qui planifie et délègue son exécution : la rubrique sépare ces deux rôles, puis aide à choisir selon l'équipe et le parc.

L'automatisation de l'administration système commence souvent par un script lancé à la main, puis par une crontab sur un serveur, puis par dix crontabs sur dix serveurs que plus personne ne relit. Les outils présentés ici répondent à deux besoins distincts, qu'il vaut mieux ne pas confondre :

  • décrire et appliquer une configuration sur un parc, de façon répétable : c'est le rôle d'Ansible ;
  • planifier, journaliser et déléguer l'exécution de tâches, y compris de playbooks Ansible, à d'autres équipes : c'est le rôle d'un ordonnanceur comme Rundeck ou CTFreak.

Chaque tutoriel indique la version qu'il vise et cite la documentation de l'éditeur. Testez toujours sur une machine virtuelle de lab, avec un instantané (snapshot), avant de laisser un outil d'automatisation toucher un serveur de production : une erreur s'y applique à tout le parc en une seule commande.

Ansible : une machine de contrôle, aucun agent

La documentation d'Ansible le décrit comme un outil d'automatisation sans agent, installé sur un seul hôte, le nœud de contrôle (control node). Celui-ci pilote les nœuds gérés (managed nodes) par SSH, par PowerShell Remoting ou par d'autres transports, sans base de données ni démon à faire tourner.

RôleCe qui est requis
Nœud de contrôleun système de type UNIX avec Python ; Windows seulement via une distribution Linux sous WSL
Nœud géré LinuxPython et un compte joignable en SSH
Nœud géré WindowsWinRM ou SSH, PowerShell 5.1 déjà présent sur les versions prises en charge

Deux tutoriels couvrent ce socle :

  1. Installer le nœud de contrôle. La page pour installer Ansible sur Rocky Linux remplace l'ancien tutoriel CentOS 7, en fin de vie depuis le 30 juin 2024. Elle compare l'installation par pip, la seule que maintient le projet Ansible, et le paquet du dépôt EPEL, puis vérifie le tout avec le module ping.
  2. Gérer des serveurs Windows. La page pour administrer Windows Server avec Ansible détaille le choix entre WinRM et SSH, l'écouteur HTTPS, le mode d'authentification et un premier playbook qui installe IIS.

Le point qui bloque le plus souvent n'est pas Ansible lui-même, mais la version de Python sur le nœud de contrôle : chaque branche d'ansible-core exige une plage précise. Le tutoriel d'installation montre comment la vérifier avant de choisir pip ou EPEL.

Rundeck et CTFreak : planifier et déléguer

Un playbook lancé depuis le terminal d'un administrateur ne laisse ni historique partagé, ni contrôle sur qui peut le relancer. Un ordonnanceur ajoute ces trois éléments : une interface web, un journal de chaque exécution et des droits par équipe.

Rundeck

Rundeck existe en édition open source, qui porte ce nom, et en offre commerciale, Runbook Automation. Selon sa documentation, les deux intègrent un plugin Ansible qui importe les hôtes de l'inventaire comme nœuds et lance modules et playbooks, avec le contrôle d'accès de Rundeck : une équipe support peut ainsi exécuter un playbook validé sans accès au nœud de contrôle. Le tutoriel pour installer Rundeck sur Rocky Linux passe par le dépôt RPM officiel ou par Docker, et rappelle le mot de passe par défaut à changer tout de suite.

CTFreak

CTFreak suit la même idée avec un binaire unique et une interface entièrement web. Il se connecte aux serveurs en SSH ou en WinRM, sans agent. Ce n'est pas un logiciel open source : il est propriétaire, et son édition gratuite fonctionne sans clé de licence, avec des limites que l'éditeur publie (une seule exécution à la fois, 8 tâches et 3 utilisateurs au maximum). La présentation de CTFreak, l'ordonnanceur de tâches web détaille ses éditions, son installation et le cas des tâches Ansible, réservées à l'installation Linux.

Quel outil pour quel besoin

Aucun classement ici : ces outils se combinent plus qu'ils ne se remplacent. Les repères ci-dessous partent de la situation.

SituationPiste
Configurer de la même façon une dizaine de serveurs LinuxAnsible seul, depuis un nœud de contrôle
Gérer aussi des serveurs WindowsAnsible avec WinRM, ou SSH sur Windows Server 2022 et plus récent
Laisser une autre équipe lancer des playbooks validésRundeck avec son plugin Ansible
Remplacer quelques crontabs dispersées, petite équipel'édition gratuite de CTFreak peut suffire, en acceptant l'exécution en série
Exigence de code source ouvertAnsible et Rundeck en édition open source
Pas de Java sur le serveur d'ordonnancementCTFreak, binaire unique

Deux questions tranchent la plupart des cas. Qui lancera les tâches : vous seul, ou d'autres équipes avec des droits différents ? Et avez-vous besoin d'un historique consultable par tous ? Si la réponse est « vous seul » et « non », Ansible depuis le terminal suffit.

Par où commencer

  • Étudiant ou premier lab : installez Ansible sur une VM Rocky Linux, gérez deux nœuds Linux, puis ajoutez un serveur Windows.
  • Administrateur d'un parc mixte : partez du tutoriel Ansible pour Windows Server pour régler WinRM proprement, puis placez Rundeck devant vos playbooks si d'autres doivent les lancer.
  • Petite structure aux tâches planifiées éparpillées : lisez la page CTFreak, en tenant compte de sa licence propriétaire.

Les autres rubriques, de la supervision à la virtualisation, sont listées sur l'accueil de Pixelabs.

Tous les tutoriels : automatisation

Questions fréquentes

Ansible a-t-il besoin d'un agent sur les serveurs ?

Non. Ansible est sans agent : il s'installe sur le seul nœud de contrôle et se connecte aux nœuds gérés par SSH ou, pour Windows, par WinRM ou SSH. Les nœuds Linux ont seulement besoin de Python.

Peut-on installer Ansible sur Windows ?

Pas comme nœud de contrôle natif. La documentation d'Ansible indique que Windows sans WSL n'est pas pris en charge : installez-le dans une distribution Linux sous WSL ou sur une VM Linux. Windows reste parfaitement gérable comme nœud géré.

Quelle différence entre Ansible et Rundeck ?

Ansible applique une configuration ou exécute des tâches sur un parc. Rundeck orchestre l'exécution : interface web, historique, droits par équipe. Rundeck peut lancer des playbooks Ansible grâce à son plugin intégré.

CTFreak est-il open source ?

Non. C'est un logiciel propriétaire dont le contrat de licence interdit de le modifier ou de le décompiler. Son édition gratuite fonctionne sans clé, avec des limites sur le nombre de tâches, d'utilisateurs et d'exécutions simultanées.

Faut-il un ordonnanceur pour débuter avec Ansible ?

Non. Pour apprendre et pour un administrateur seul, la ligne de commande suffit. Un ordonnanceur devient utile quand d'autres personnes doivent lancer des tâches, ou quand il faut un historique partagé.