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ôle | Ce qui est requis |
|---|---|
| Nœud de contrôle | un système de type UNIX avec Python ; Windows seulement via une distribution Linux sous WSL |
| Nœud géré Linux | Python et un compte joignable en SSH |
| Nœud géré Windows | WinRM ou SSH, PowerShell 5.1 déjà présent sur les versions prises en charge |
Deux tutoriels couvrent ce socle :
- 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. - 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.
| Situation | Piste |
|---|---|
| Configurer de la même façon une dizaine de serveurs Linux | Ansible seul, depuis un nœud de contrôle |
| Gérer aussi des serveurs Windows | Ansible avec WinRM, ou SSH sur Windows Server 2022 et plus récent |
| Laisser une autre équipe lancer des playbooks validés | Rundeck avec son plugin Ansible |
| Remplacer quelques crontabs dispersées, petite équipe | l'édition gratuite de CTFreak peut suffire, en acceptant l'exécution en série |
| Exigence de code source ouvert | Ansible et Rundeck en édition open source |
| Pas de Java sur le serveur d'ordonnancement | CTFreak, 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
- Administrer Windows Server avec Ansible : WinRM, SSH et premiersAnsible ne tourne pas sur Windows, mais il pilote très bien des serveurs Windows. Tout se joue dans la connexion : WinRM ou SSH, le bon mode...
- CTFreak, un ordonnanceur de tâches entièrement webCTFreak remplace les crontabs dispersées par une seule interface web qui planifie, lance et journalise vos scripts sur des serveurs Linux et Windows....
- Installer Ansible sur Rocky Linux, l'héritier de CentOS 7Ansible ne s'installe que sur la machine de contrôle : aucun agent sur les serveurs gérés. Le vrai choix est entre le paquet de la distribution et...
- Installer Rundeck sur Rocky Linux, ou en conteneur DockerRundeck donne une interface web, un historique et des droits d'accès à vos scripts et playbooks. Il s'installe en quelques commandes sur Rocky Linux...
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é.