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 complexes exécutées sans intervention humaine ou presque. Les playbooks Ansible sont exécutés sur un ensemble, un groupe ou une classification d'hôtes, qui forment ensemble un inventaire.

Les playbooks Ansible sont en fait des frameworks, c'est-à-dire du code prérédigé que les développeurs peuvent utiliser tel quel ou comme point de départ. Ils 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 environnements de développement (tels que Git).

Les playbooks Ansible permettent au personnel informatique de programmer des applications, des services, des nœuds de serveurs ou d'autres ressources sans avoir à tout créer en partant de rien. En outre, les playbooks Ansible, ainsi que les conditions, variables et tâches qu'ils contiennent, peuvent être enregistrés, partagés ou réutilisés indéfiniment.

Les modules Ansible exécutent des tâches. Un play peut contenir une ou plusieurs tâches et un playbook peut contenir plusieurs plays. Ainsi, les playbooks Ansible sont des listes de tâches qui s'exécutent automatiquement sur des hôtes. Des groupes de ces hôtes constituent votre inventaire Ansible.

Chaque module d'un playbook Ansible effectue une tâche spécifique. Chaque 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 d'autres 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 l'utilisateur 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.

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 nombreuses catégories de ressources différentes, 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
  remote_user: root

  tasks:
  - name: ensure apache is at the latest version
    yum:
      name: httpd
      state: latest
  - name: write the apache config file
    template:
      src: /srv/httpd.j2
      dest: /etc/httpd.conf

- name: update db servers
  hosts: databases
  remote_user: root

  tasks:
  - name: ensure postgresql is at the latest version
    yum:
      name: postgresql
      state: latest
  - name: ensure that postgresql is started
    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.

Vous ne savez pas encore tout sur l'automatisation…

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.

À 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.

Via 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.

Vous souhaitez assister à des talks, des retours d'expérience ou simplement échanger avec des utilisateurs d'Ansible ?

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.

Plateforme de développement d'applications cloud-native qui automatise les décisions et processus métier.

Ressources

Formations

Cours gratuit

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

Cours gratuit

Red Hat Ansible Automation pour SAP

Illustration - mail

Ce type de contenu vous intéresse ?

Inscrivez-vous à notre newsletter Red Hat Shares.