Glossaire Ansible
Glossaire des termes utilisés dans le contexte Ansible
Auteur : François-Emmanuel Goffinet
Ce document est un guide de formation en français sur les pratiques sécurisées d’administration du système d’exploitation (OS) GNU/Linux. Le propos invite progressivement à déployer les technologies de virtualisation, à procéder à des tâches d’automation / automatisation via des scripts, à déployer les services traditionnels tels que des services Web ou d’infrastructure, voire plus spécifiques en ToIP / VoIP / UC ou même IaaS.
Le document comprend de nombreux scripts et exemples. Aussi, il traite les sujets sur les distributions basées RHEL (Centos et dérivés) et Debian Stable (Ubuntu et autres dérivés).
Le document vise à atteindre un double objectif :
Ce projet tente d’aligner son contenu sur le programme des certifications Linux les plus populaires
Sujets | Certifications alignées | Progrès dans la rédaction |
---|---|---|
I. Administration sécurisée du système | Linux Essentials, RHCSA, LPIC1, LPI 201, RHCE partiel, LFCS partiel. | Complet |
II. Services Réseau | RHCE, LPI 202, LFCS, LFCE | A actualiser |
III. Virtualisation Linux | RHCSA (conteneurs), LPIC 305 | En développement |
IV. Automation Ansible | - | En développement |
V. Administration OpenStack | - | En développement |
VI. Administration Java EE | - | En développement |
VII. DevOps | AWS SysOps, DevOps Foundation | En développement |
VIII. Communications Unifiées | - | Complet |
IX. Cybersécurité | CEH | En développement |
X. Certifications Linux | Programmes de référence | - |
Ce document oriente le contenu sur :
Ce document s’adresse à tous les professionnels de l’informatique bien sûr mais aussi des services et de l’industrie pour lesquels l’ère numérique a modifié les pratiques de travail.
Ce support évolue constamment selon l’épreuve du temps et des retours d’expérience. Il est toujours préférable de se référer à la dernière version en ligne sur https://linux.goffinet.org.
Il se lit ou s’expose en face d’une console Linux, dans une machine virtuelle par exemple. Les interfaces graphiques des logiciels seront laissées à l’appréciation des utilisateurs.
Pour obtenir de meilleurs résultats d’apprentissage, notamment en classe de formation, il est conseillé d’utiliser une installation native, avec une ligne de commande ou un shell à disposition.
Enfin, ce document n’étant qu’un support de cours, il sera nécessaire de visiter les références et les liens fournis ainsi que les sites officiels et leurs pages de documentation qui restent dans la plupart des cas librement disponibles.
On conseillera quelques distributions Linux de référence avant d’entamer des distributions spécialisées ou spécifiques.
Un ordinateur individuel récent connecté au réseau local (et à l’Internet) est nécessaire. Dans une classe de formation, la meilleure expérience est d’installer une distribution Linux native et d’utiliser des outils de virtualisation tels que libvirt et qemu/KVM pour réaliser des exercices avancés.
Ce document de François-Emmanuel Goffinet est mis à disposition selon les termes de la licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International. Il est produit en ligne sur https://linux.goffinet.org/.
Ce document s’inspire de près ou de loin de toute une série d’autres qui sont soumis la plupart du temps aux mêmes droits. Les sources citées ou reprises sont présentes sous format d’URI dans le code source. J’espère que les auteurs concernés se satisferont de cette exposition. Les marques citées ont été déposées par leurs propriétaires.
Ces ebooks sont publiés sur Leanpub ont pour but de supporter l’auteur dans son oeuvre.
Glossaire des termes utilisés dans le contexte Ansible
Solutionnaire Ansible
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...
Exercices Ansible
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 ...
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.
Synthèse sur les livres de jeu. Jouer avec les facts, les variables, les conditions et les boucles.
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.
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.
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.
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...
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.