0% found this document useful (0 votes)
118 views23 pages

Ansible For Teenagers

This document provides an introduction and overview of Ansible, an open source tool for automating infrastructure management and configuration. It discusses key Ansible concepts like playbooks, tasks, variables, facts, roles, vaults, galaxy, errors, retries and assertions. It also covers tools like Molecule that are used for testing Ansible roles. The document is presented as a guide or tutorial, explaining each concept in 1-2 paragraphs with examples. It is intended to help readers learn about and understand how to use Ansible.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views23 pages

Ansible For Teenagers

This document provides an introduction and overview of Ansible, an open source tool for automating infrastructure management and configuration. It discusses key Ansible concepts like playbooks, tasks, variables, facts, roles, vaults, galaxy, errors, retries and assertions. It also covers tools like Molecule that are used for testing Ansible roles. The document is presented as a guide or tutorial, explaining each concept in 1-2 paragraphs with examples. It is intended to help readers learn about and understand how to use Ansible.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Antony Kervazo-Canut

Ansible for
Teenagers
CONVIENT AUSSI AUX
ADULTES
Antony Kervazo-Canut

Introduction
Ansible est un outil open source d'automatisation, de configuration et
de gestion d'infrastructures informatiques. Il permet de gérer
facilement de nombreux serveurs en utilisant le langage YAML pour
décrire les tâches automatisées. Ansible fonctionne sans agent, ce qui
signifie qu'il n'est pas nécessaire d'installer un logiciel
supplémentaire sur les nœuds qu'il gère.

Ansible est populaire pour plusieurs raisons :


Simplicité et facilité d'utilisation : Les playbooks (fichiers de
configuration) sont écrits en YAML, un langage simple et lisible
par l'homme.
Puissant et flexible : Ansible peut gérer des tâches complexes et
s'adapter à divers environnements.
Agentless : Pas besoin d'installer de logiciel sur les nœuds gérés,
ce qui simplifie la gestion et la sécurité.
Idempotent : Les playbooks peuvent être exécutés plusieurs fois
sans effets indésirables ou non souhaités.
Large communauté et support : Ansible bénéficie d'une vaste
communauté et d'une abondance de ressources et de modules.
Antony Kervazo-Canut

Installation
d'Ansible
Antony Kervazo-Canut

Inventaire

Le fichier d'inventaire est un document de configuration utilisé par


Ansible pour énumérer et organiser les hôtes et groupes de serveurs
sur lesquels les tâches et playbooks seront exécutés.

Ansible communique avec les nœuds distants en utilisant SSH pour


les systèmes Unix/Linux et WinRM pour les systèmes Windows,
permettant ainsi une gestion sécurisée et efficace des configurations
et des automatisations à distance.
Antony Kervazo-Canut

Ansible Ping

Cette commande envoie un ping à tous les hôtes définis dans


inventory.ini pour vérifier que Ansible peut se connecter à eux
correctement.
Antony Kervazo-Canut

Playbooks
Un playbook Ansible est un fichier YAML décrivant les tâches à
exécuter sur les serveurs.

Ce playbook cible le groupe serveurs de votre fichier d'inventaire et


exécute une tâche pour installer Apache sur les machines de ce
groupe.
Antony Kervazo-Canut

Tasks
Les tâches sont les unités de base de l'action dans un playbook
Ansible. Elles définissent ce que vous voulez réaliser sur les hôtes
ciblés.

Cette tâche met à jour les paquets sur un serveur Ubuntu en utilisant
le module apt. Ansible dispose d'une large gamme de modules pour
diverses tâches. Par exemple, pour gérer des fichiers, utilisez le
module file.
Antony Kervazo-Canut

Variables
Antony Kervazo-Canut

Facts
Les facts dans Ansible sont des variables générées automatiquement
contenant des informations sur les systèmes distants. Ils sont
recueillis par Ansible à chaque fois qu'il se connecte à un hôte cible,
fournissant des détails comme le système d'exploitation, les adresses
IP, les disques disponibles, etc.

Les facts peuvent être utilisés dans vos playbooks pour conditionner
l'exécution de tâches en fonction des caractéristiques de l'hôte.
Antony Kervazo-Canut

Rôles
Les rôles dans Ansible organisent des tâches, des fichiers, des
templates et des variables en unités logiques, facilitant ainsi la
réutilisation et la gestion.
Antony Kervazo-Canut

Ansible Vault
Ansible Vault est un outil intégré à Ansible qui permet de chiffrer des
fichiers de données sensibles pour les sécuriser. Il est
particulièrement utile pour gérer des informations sensibles telles
que des mots de passe ou des clés secrètes dans vos playbooks, rôles,
ou fichiers de variables.
Antony Kervazo-Canut

Ansible Vault -
Utilisation
Pour utiliser des variables chiffrées dans vos playbooks, vous devez
d'abord inclure le fichier de secrets chiffré. Utilisez la directive
vars_files dans votre playbook pour spécifier le fichier chiffré.
Antony Kervazo-Canut

Ansible Galaxy
Ansible Galaxy est une plateforme où la communauté partage des
rôles réutilisables : https://galaxy.ansible.com/ui/

Ce playbook cible deux groupes d'hôtes : serveurs_web pour le rôle


Nginx et serveurs_db pour le rôle MySQL.
Antony Kervazo-Canut

Erreurs
Parfois, vous voudrez peut-être continuer l'exécution du playbook
même si une tâche échoue. Vous pouvez utiliser ignore_errors.

Vous pouvez contrôler les conditions sous lesquelles une tâche est
considérée comme ayant échoué ou réussi en utilisant failed_when et
changed_when. Ici si le mot "ERREUR" est présent, la tâche échoue.
Antony Kervazo-Canut

Gestion des Erreurs


Les blocs permettent de grouper plusieurs tâches et de gérer les
erreurs de manière collective.

Dans cet exemple, si une tâche dans le bloc block échoue, le bloc
rescue est exécuté. Le bloc always s'exécute dans tous les cas, que le
bloc block réussisse ou échoue.
Antony Kervazo-Canut

Retries / Until
Parfois, vous voudrez peut-être réessayer une tâche qui a échoué
après un court délai.

Ici, la tâche est répétée jusqu'à 5 fois avec un délai de 10 secondes


entre chaque tentative, jusqu'à ce qu'elle réussisse.
Antony Kervazo-Canut

Assertions
Utilisez des assertions pour effectuer des vérifications avant
d'exécuter des tâches critiques.

Cette tâche s'assure que la variable mon_parametre est définie avant


de poursuivre.
Antony Kervazo-Canut

Handlers
Les handlers sont des tâches spéciales qui s'exécutent en réponse à un
changement. Par exemple, redémarrer un service après sa mise à
jour.
Antony Kervazo-Canut

Debug
Utilisez le module debug pour afficher des valeurs de variables ou des
messages personnalisés.

Exécutez des playbooks en mode verbose (-v, -vv, ou -vvv pour plus de
détails) pour obtenir des informations supplémentaires.
Antony Kervazo-Canut

Molecule
Molecule fournit une structure pour tester les rôles Ansible de
manière systématique, utilisant des conteneurs ou des machines
virtuelles pour créer un environnement de test. Il permet de vérifier
que vos rôles fonctionnent comme prévu sur différentes plateformes
et configurations.

Molecule permet d'écrire des tests pour vérifier que les rôles Ansible
fonctionnent comme prévu. Ces tests sont généralement écrits en
utilisant le module testinfra ou ansible lui-même pour la phase de
vérification.
Antony Kervazo-Canut

Molecule avec
Testinfra
Testinfra est une bibliothèque Python qui sert à tester
l'infrastructure de vos serveurs. Elle permet d'écrire des tests
unitaires pour vérifier si les services, paquets, fichiers, etc., sont dans
l'état attendu sur vos serveurs. Testinfra peut être utilisé avec
Molecule pour tester des rôles Ansible, en s'assurant que le rôle
applique la configuration désirée sur un serveur ou un conteneur.

molecule.yml
Antony Kervazo-Canut

Molecule avec
Testinfra
Molecule utilisant Testinfra comme vérificateur, les tests ne sont pas
définis dans un fichier verify.yml mais plutôt dans des fichiers de test
Python séparés, tels que test_default.py.

tests/test_default.py

Molecule va créer une instance Docker pour le test. Appliquer le rôle,


exécuter les tests et détruire l'instance docker.
Antony Kervazo-Canut

Dans la même
collection

ANTONYCANUT

ANTONY KERVAZO- CANUT

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy