Présentation
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.
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 référentiels de code, tels que GitHub. Les playbooks 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.
Fonctionnement des playbooks Ansible
Les playbooks Ansible sont des listes de tâches qui s'exécutent automatiquement sur votre inventaire 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.
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.
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.
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.
Exemple concret de playbook Ansible
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.
Utilisation des playbooks Ansible
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.
Vous ne savez pas encore tout sur l'automatisation…
Pourquoi Red Hat ?
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 proposés par nos soins et par nos partenaires, 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 profiterez de l'expertise que nous avons acquise grâce à nos réussites auprès de milliers de clients.
L'outil Ansible Lightspeed avec IBM Watson Code Assistant rend Ansible encore plus accessible aux débutants et permet aux utilisateurs expérimentés de travailler de manière plus productive, plus efficace et sans erreurs. Les équipes de développement peuvent saisir une demande de tâche simplement en anglais : Ansible Lightspeed se charge d'interagir avec les modèles de base IBM watsonx pour générer des recommandations de code qui sont ensuite utilisées pour créer des playbooks.
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.