Sommaire

Présentation des rôles Rôle

Vous avez conçu plusieurs playbooks au fil du temps et vous vous apercevez que vous avez besoin de réemployer le code de ces derniers. En effet, un « play » qui configure un serveur Apache pourrait resservir pour un autre serveur avec des valeurs différentes. Copier/coller le code d’un playbook dans un autre peut s’avérer complexe, voire parfois compliqué.

Les rôles de Ansible offrent la possibilité de réutiliser du code de façon générique. Vous allez utiliser, dans une structure de dossiers standardisée, les tâches, les variables, les fichiers, les modèles Jinja2 (templates) entre autres… Et ce afin de déployer des applications ou bien une infrastructure. Il suffit de dupliquer l’arborescence du rôle d’un projet à un autre. Vous exécutez, par la suite, ce rôle depuis un « play ».

Vous pouvez développer vos propres rôles en fonction de vos besoins et les utiliser à plusieurs reprises. Les distributions Red Hat Enterprise Linux et CentOS 8 fournissent de base un paquet qui propose des rôles système. Plus loin dans ce chapitre, leurs fonctionnalités et utilisations seront abordées. Vous disposez également, sur le site web Ansible Galaxy, d’un grand nombre de rôles qui sont développés par la communauté.