Automation Ansible - Intro

Ansible est devenu un outil incontournable de gestion d’infrastructure pour des cibles Linux mais aussi pour des cibles du réseau et du centre de données, du nuage. Il est capable de représenter la gestion de la configuration d’une infrastructure sous forme de code, aisé à lire et à gérer. Ansible transforme l’esprit de l’admin traditionnel en dev.

Ce document est un guide de formation sur l’usage d’Ansible.

Prérequis

Pour aborder cette matière quelques pré-requis sont nécessaires :

Portée du document

Ce document a pour premier objectif de répondre aux sujets du programme de l’examen de certification RHCE EX294 (Ingénieur certifié Red Hat) pour Red Hat Enterprise Linux 8. Ceux-ci portent sur les compétences de base en administration d’un système Linux RHEL 8 à travers l’outil de gestion Ansible, en ce y compris la gestion du pare-feu, des services de base et de Selinux.

Toutefois, si Ansible est capable de gérer une infrastructure entière qui n’est probablement pas seulement composée de systèmes Red Hat, on ne manquera pas de développer d’autres objectifs comme :

Objectifs RHCE EX294

Le document s’aligne sur le programme de l’Examen RHCE EX294 (Ingénieur certifié Red Hat) pour Red Hat Enterprise Linux 8

Présentation du produit Ansible

 68 minutes de lecture

En guise d’introduction, on décrira dans ce document le projet Ansible, ses cas d’usage, ses composants, son principe de fonctionnement, son installation et les différents binaires qui l’accompagnent.

Monter un lab Linux pour Ansible

 33 minutes de lecture

Ce chapitre envisage cinq solutions de lab pour apprendre Ansible pour dans le cadre d’une gestion de Linux. Une première solution montée avec Docker, deux autres avec Libvirt/KVM gérées en Bash ou avec Ansible lui-même et deux dernières avec Vagrant et Virtualbox ou Libvirt/KVM.

Comprendre l’inventaire Ansible

 38 minutes de lecture

Un inventaire peut être une collection d’hôtes définis dans un fichier plat, dans un dossier organisé de manière conventionnelle ou peut être nourri d’un script dynamique (qui interroge un CMDB par exemple) qui génère une liste de périphériques à cibler dans un livre de jeu. Il peut donc être statique, soit défini d’avance ; il peut aussi se créer dynamiquement ou encore être mis à jour dynamiquement. La portée d’un jeu au sein du livre de jeu est limitée aux groupes d’hôt...

Modules Ansible

 35 minutes de lecture

Ce document poursuite l’objectif d’expliquer le concept, le rôle, la manipulation et les codes de retour des modules. Les modules Ansible sont des bouts de codes écrits principalement en Python (mais tout langage supportant les retours JSON est autorisé) pour modifier l’état d’une propriété d’un hôte. Les modules sont invoqués par l’exécution de tâches soit directement dans la ligne de commande ansible ou dans des livres de jeu avec la commande ansible-playbook.

Tâches Ansible Ad-Hoc Linux

 62 minutes de lecture

Ce chapitre envisage la prise de connaissance et la mise en oeuvre de tâches Ansible Ad-Hoc pour administrer un système Linux avec Ansible. Le mode ad-hoc permet d’exécuter des tâches ad-hoc. Rappelons qu’une tâche n’est rien d’autre que l’appel à un module.

Formats JSON et YAML Ansible

 30 minutes de lecture

Ansible présente en sortie standard les résultats de ses actions en format JSON. On présentera ici le format JSON et son traitement avec l’outil jq. Ansible utilise le format YAML pour ses fichiers de données statiques pour la facilité d’usage. Enfin, les variables sont présentées dans Ansible grâce aux modèles Jinja2.

Livres de Jeu Ansible

 79 minutes de lecture

Synthèse sur les livres de jeu. Jouer avec les facts, les variables, les conditions et les boucles.

Optimiser les projets Ansible

 49 minutes de lecture

Gestion des Erreurs Ansible : Ignorer les tâches en échec, Contrôler l’état changed, Contrôler l’état failed, Tâche en échec et handlers, Module fail. Gestion des connexions dans Ansible. Abstraire un livre de jeu avec des inclusions, des imports et des rôles Ansible-Galaxy. Collection Ansible-Galaxy. Ansible-vault est un outil intégré à Ansible qui permet de chiffrer les fichiers qui contiennent des données sensibles.

Ansible Tower AWX

 13 minutes de lecture

Ansible Tower est Ansible au niveau de l’entreprise. Il s’agit d’une solution Web permettant de gérer une organisation avec une interface utilisateur très simple qui fournit un tableau de bord avec des résumés de l’état de tous les hôtes, qui permet des déploiements rapides et surveille toutes les configurations. Tower permet de partager les informations d’identification SSH sans les exposer, de consigner tous les travaux, de gérer graphiquement les inventaires et de les ...

Configuration Ansible

 47 minutes de lecture

Ce document propose d’examiner les principales options de configuration de Ansible sur le noeud de contrôle. Son architecture sans agent laisse le soin à chacun de configurer finement et personnellement le comportement par défaut de la solution. Le comportement d’Ansible peut être influencé de différentes manières : en configurant des variables d’environnement, en passant directement les paramètres sur la ligne de commande ansible ou ansible-playbook, en définissant un fic...

Glossaire Ansible

 48 minutes de lecture

Glossaire des termes utilisés dans le contexte Ansible


Revision #1
Created 3 October 2021 21:02:21 by garfi
Updated 3 October 2021 21:03:06 by garfi