Jump to section

Un playbook Ansible, qu'est-ce que c'est ?

Copier l'URL

Un playbook Ansible® est un modèle de tâches d'automatisation, qui sont des opérations informatiques exécutées sans intervention humaine ou presque dans plusieurs solutions informatiques. Les playbooks indiquent à Ansible les actions à réaliser et sur quelsdispositifs.

Au lieu d'effectuer manuellement la même action sur des centaines voire des milliers de technologies similaires dans plusieurs environnements informatiques, l'exécution d'un playbook permet d'automatiser cette tâche pour le type d'inventaire spécifié, par exemple un ensemble de routeurs. Les playbooks font également office de frameworks de code prérédigé que les équipes de développement peuvent utiliser pour un usage particulier ou comme modèles de démarrage.

Les playbooks servent régulièrement à automatiser des infrastructures informatiques (par exemple des systèmes d'exploitation et des plateformes Kubernetes), des réseaux, des systèmes de sécurité et des référentiels de code, tels que GitHub. Ils permettent au personnel informatique de programmer des applications, services, nœuds de serveurs ou autres ressources sans avoir à tout créer à partir de rien.

En outre, les playbooks, ainsi que les conditions, variables et tâches qu'ils contiennent, peuvent être enregistrés, partagés ou réutilisés indéfiniment. Les équipes informatiques peuvent ainsi codifier plus facilement les connaissances opérationnelles et assurer la cohérence de l'exécution des actions identiques.

Les playbooks Ansible sont des listes de tâches qui s'exécutent automatiquement sur un inventaire donné ou des groupes d'hôtes. Avec une ou plusieurs tâches Ansible, vous pouvez former un play, c'est-à-dire un groupe de tâches mappées à des hôtes spécifiques, qui sont exécutées dans l'ordre dans lequel elles sont écrites. Un playbook peut inclure un ou plusieurs plays ainsi que des rôles Ansible. Un rôle est un groupe de tâches et de ressources d'automatisation associées exécutable dans plusieurs plays ou réutilisable dans plusieurs playbooks.

Les tâches sont exécutées par des modules, et chacun d'entre eux réalise une tâche spécifique au sein d'un playbook. Un module contient des métadonnées qui déterminent quand et où une tâche s'exécute, ainsi que l'utilisateur qui l'exécute. Il existe des milliers de modules Ansible qui effectuent toutes sortes de tâches informatiques, notamment les suivantes :

Gestion du cloud

oci_vcn crée, supprime ou met à jour des réseaux cloud virtuels dans des environnements Oracle Cloud Infrastructure. De même, vmware_cluster ajoute, supprime ou met à jour des clusters VMware vSphere.

Gestion des utilisateurs

selogin met en correspondance les utilisateurs du système d'exploitation Linux® avec les utilisateurs SELinux, tandis que gitlab_user crée, met à jour ou supprime des utilisateurs GitLab.

Mise en réseau

Des dizaines de modules gèrent les interfaces de programmation d'application (API), les systèmes Cisco IOS, NXOS et IOS XR, ainsi que les services F5 BIG-IP et le système d'exploitation réseau dans le cloud Arista EOS.

Sécurité

openssh_cert génère des certificats d'hôte ou d'utilisateur OpenSSH, tandis qu'ipa_config gère les paramètres de configuration globaux de FreeIPA.

Gestion des configurations

pip gère les dépendances des bibliothèques Python, tandis qu'assemble consolide les fichiers de configuration à partir de fragments.

Communication

mail peut envoyer automatiquement des e-mails en fonction de certains critères, tandis que snow_record crée, supprime ou met à jour un seul enregistrement dans ServiceNow.

Ansible est capable de communiquer avec de nombreux types d'équipements, des API REST cloud aux systèmes Windows et Linux, en passant par le matériel de mise en réseau. Voici un exemple de deux modules Ansible qui mettent automatiquement à jour deux types de serveurs :

--- - name: Update web servers   hosts: webservers   become: true     tasks:     - name: Ensure apache is at the latest version       ansible.builtin.yum:         name: httpd         state: latest     - name: Write the apache config file       ansible.builtin.template:         src: /srv/httpd.j2         dest: /etc/httpd.conf         mode: "0644"   - name: Update db servers   hosts: databases   become: true     tasks:     - name: Ensure postgresql is at the latest version       ansible.builtin.yum:         name: postgresql         state: latest     - name: Ensure that postgresql is started       ansible.builtin.service:         name: postgresql         state: started 

Le playbook contient deux plays : 

  • Le premier vérifie si le logiciel du serveur web est à jour et exécute la mise à jour si nécessaire.
  • Le second vérifie si le logiciel du serveur de base de données est à jour et exécute la mise à jour si nécessaire.

Ansible utilise la syntaxe YAML. Pour certains, YAML est l'acronyme de Yet Another Markup Language, pour d'autres, c'est l'acronyme récursif de YAML Ain't Markup Language. Il existe deux extensions de fichier YAML différentes : .yaml et .yml. Les deux sont équivalentes. 

Il y a deux manières d'utiliser les playbooks Ansible : à partir de l'interface en ligne de commande ou à l'aide des déploiements simplifiés de Red Hat® Ansible Automation Platform.

Puisque YAML est un langage lisible par l'homme, les professionnels de l'informatique qui disposent d'une expertise dans un domaine, par exemple le réseau, la sécurité ou le cloud, peuvent créer des playbooks sans avoir à apprendre de langage complexe.

À partir de l'interface en ligne de commande

Après avoir installé le projet Ansible Open Source ou Red Hat Ansible Automation Platform (entrez simplement « sudo yum install ansible » dans l'interface en ligne de commande de Red Hat Enterprise Linux), il vous suffit d'utiliser la commande ansible-playbook pour exécuter des playbooks Ansible.

À partir de la plateforme

L'interface utilisateur web de Red Hat Ansible Automation Platform inclut des déploiements de playbooks Ansible simplifiés utilisés dans le cadre de tâches ou de modèles de tâches de plus grande envergure. Ces déploiements sont encadrés pour éviter les erreurs, une précaution particulièrement utile pour les utilisateurs qui débutent dans l'automatisation ou qui n'ont pas l'habitude de travailler dans l'interface en ligne de commande.

Red Hat Ansible Automation Platform est une plateforme unifiée qui permet d'automatiser des processus entiers dans plusieurs domaines informatiques pour de nombreux cas d'utilisation, parmi lesquels l'infrastructure, le cloud hybride, la sécurité et les réseaux, et ce, jusqu'aux sites d'edge computing. Elle comprend tous les outils nécessaires à la mise en œuvre de l'automatisation à l'échelle de l'entreprise, notamment une solution orientée événements, des playbooks et des outils d'analyse. Elle permet aussi à vos équipes de centraliser et contrôler l'infrastructure informatique au moyen d'un tableau de bord visuel, du contrôle d'accès basé sur les rôles et d'autres fonctions, avec à la clé une réduction de la complexité de l'exploitation.

Avec une souscription Red Hat, vous bénéficiez de contenus certifiés et pris en charge que nous et nos partenaires mettons à disposition, d'un accès à des services de gestion hébergés et d'une assistance technique tout au long du cycle de vie qui permet de faire évoluer les processus automatisés dans l'ensemble de votre entreprise. En outre, vous profitez de l'expertise que nous avons acquise dans le cadre de nos collaborations réussies avec des milliers de clients.

L'outil Red Hat Ansible Lightspeed with IBM watsonx Code Assistant rend Ansible encore plus accessible aux débutants. Il aide également les équipes chevronnées spécialisées dans l'automatisation à apprendre, créer et gérer les contenus Ansible Automation Platform de manière plus efficace. Ce service d’IA générative reçoit les requêtes saisies par un utilisateur, puis interagit avec les modèles de fondation IBM watsonx pour générer des recommandations de code basées sur les meilleures pratiques pour Ansible, ce qui vous aide à convertir votre expertise en code Ansible fiable, utilisable dans plusieurs équipes et domaines.

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Avec ses fonctions intégrées, Red Hat Ansible Automation Platform est un véritable accélérateur prêt à l'emploi. C'est une solution de référence que nombre de nos fournisseurs et partenaires utilisent également pour programmer l'installation, la configuration et la maintenance de leurs technologies.

Jesse Amerson

Directeur informatique, Ulta Beauty

Combien de temps pouvez-vous gagner grâce à l'automatisation ?

Répondez à quelques questions pour découvrir le temps que vous pourriez économiser en adoptant Ansible Automation Platform dans votre entreprise.

Lire la suite

Article

Apprendre les bases d'Ansible

Ansible permet d'automatiser les processus informatiques tels que le provisionnement et la gestion des configurations. Apprenez les bases d'Ansible en lisant cette présentation des concepts clés.

Article

La gestion des processus métier, qu'est-ce que c'est ?

La gestion des processus métier est une pratique de modélisation, d'analyse et d'optimisation des processus métier de bout en bout qui vous permet d'atteindre vos objectifs métier stratégiques.

Article

Red Hat, un partenaire de choix en matière d'automatisation

La solution Red Hat Ansible Automation Platform comprend tous les outils nécessaires au partage des processus d'automatisation entre les équipes et à la mise en œuvre de l'automatisation à l'échelle de l'entreprise.

En savoir plus sur l'automatisation

Produits

Contrats avec des conseillers stratégiques qui prennent en considération tous les tenants et les aboutissants de votre entreprise, analysent les défis auxquels vous êtes confrontés et vous aident à les relever avec des solutions complètes et économiques.

Plateforme pour la mise en œuvre de l'automatisation à l'échelle de l'entreprise, quelle que soit votre situation.

Ressources

Formations

Cours gratuit

L'essentiel d'Ansible : automatiser en toute simplicité – Présentation technique

Cours gratuit

Red Hat Ansible Automation pour SAP