Ansible : l’outil qui automatise les tâches de votre système d’information

La maintenance des systèmes d’information requiert beaucoup de temps et d’attention. C’est pourquoi les SysAdmin ont tendance à créer et utiliser des scripts pour automatiser des tâches. Malgré tout, cela reste pénible si l’infrastructure est étendue. Des outils comme Ansible permettent d’exécuter et d’automatiser des tâches sur plusieurs systèmes à la fois, afin de gagner du temps.

C'est quoi Ansible ?

Ansible est un outil open-source développé en Python. Il permet d’automatiser l’exécution de tâches sur des systèmes, en s’y connectant via SSH. Il fonctionne de manière dite “déclarative”, c’est-à-dire qu’il va s’assurer que l’état du système soit celui qu’on a décrit dans notre commande.

La particularité d’Ansible, c’est qu’il est agentless autrement dit il n’a pas besoin d’un agent installé sur l’hôte distant pour fonctionner. Les seuls prérequis sont une connexion SSH sur l’hôte distant et Python. Ansible utilise un système d’inventaire où on répertorie et classifie tous nos systèmes via des groupes afin de cibler l’exécution des tâches.

Pour effectuer ces tâches, Ansible utilise des modules. Un module est un petit programme envoyé à l’hôte distant qui effectue une tâche précise. Une fois la tâche terminée, le module est supprimé de l’hôte distant.

Dans Ansible, il existe des modules pour toutes sortes de tâches : gestion des paquets, des services, gestion MySQL, etc. Vous pouvez les retrouver dans la documentation officielle de Ansible. Il est également possible de développer et d’utiliser ses propres modules en Python. Certains modules existent également pour les hôtes Windows pour les utilisateurs de Windows.

Ansible peut être exécuté de deux manières :

  • la méthode dite ad-hoc, c’est-à-dire en ligne de commande ;
  • la méthode des playbook.
 

Méthode Ad-Hoc

Cette méthode permet d’effectuer une action rapide sur un grand nombre d’hôtes, en une seule fois.

Schéma méthode Adhoc
gif_methodeAdHoc_YPSI SAS
Source : Victor COUMAILLEAU

En une seule ligne de commande, on peut donc demander à Ansible, par exemple, de s’assurer qu’un paquet est présent et à jour sur tous les systèmes répertoriés dans notre inventaire.

On peut également utiliser cette méthode pour appliquer un patch qui corrige une faille de manière simple et efficace, peu importe le nombre d’hôtes.

Méthode Playbook

Un playbook est une liste de tâches écrite en YAML. Cette méthode est utile pour des actions plus complexes qui ne peuvent pas être faites en une seule ligne via la méthode ad-hoc.

Méthode Playbook
schema_methodePlaybook-YPSI SAS
Source : Victor COUMAILLEAU

Via un seul playbook Ansible, on peut installer et configurer des applications (WordPress, Centreon, …), installer des paquets, gérer les droits et paramétrer le firewall local.

Les playbook peuvent utiliser des variables, qui rendent leur utilisation dynamique et plus souple.

Dans un playbook, on peut également appeler un rôle Ansible ou une collection.
Un rôle est une structure de fichier contenant les playbooks, variables et métadonnées pour effectuer une suite de tâches.
Une collection va plus loin que le rôle. Elle permet de regrouper des rôles, variables et des modules personnalisés.

L’avantage du rôle et de la collection, c’est qu’ils sont réutilisables et facilement partageables via la plateforme Ansible Galaxy.

Ansible Galaxy

Ansible Galaxy est la plateforme pour partager des rôles Ansible. Il dispose d’un outil CLI, ansible-galaxy, qui permet de :

  • télécharger un rôle ou une collection depuis la plateforme ;
  • créer un rôle ou une collection Ansible vierge ;
  • publier notre rôle ou notre collection.

 

Capture d'écran Ansible Galaxy
Ansible Galaxy-YPSI SAS
Source : Ansible Galaxy

Conclusion

YPSI utilise Ansible pour déployer rapidement des solutions, comme Centreon. Le temps gagné sur le déploiement peut servir à d’autres activités comme de la documentation ou de la formation.

N’hésitez pas à nous contacter pour tout projet et questions autour de l’automatisation de tâches, nous avons une équipe d’experts à votre disposition.

Partagez cet article :

Laisser un commentaire