Découvrez Ansible, l'outil DevOps de configuration centralisée de serveurs et d'applications. Avec des exemples pratiques et une approche progressive, apprenez à créer un inventaire, à réinjecter des informations provenant de différentes sources, à créer des playbooks et des rôles Ansible, ainsi que des techniques avancées telles que la personnalisation d'Ansible et la gestion de machines virtuelles et de conteneurs.
Ce livre sur Ansible s’adresse aux administrateurs de systèmes Unix qui souhaitent découvrir les différentes fonctionnalités spécifiques de cet outil DevOps permettant la configuration centralisée de serveurs et d’applications. À l’aide d’exemples concrets, l’auteur apporte au lecteur les connaissances nécessaires pour bien comprendre l’intérêt de son utilisation.
Certains prérequis sur le langage YAML ou l’utilisation du protocole SSH sont un plus pour une utilisation efficace d’Ansible. Dans les premiers chapitres, l’auteur aide toutefois le lecteur à les acquérir pour qu’il puisse tirer le meilleur profit de la lecture du livre.
Les chapitres qui suivent traitent des différents mécanismes d’Ansible avec une approche de difficulté progressive. Les premiers mécanismes permettent ainsi d’administrer de façon classique les serveurs (Unix ou Windows) alors que les suivants nécessitent des notions plus avancées, notamment sur la programmation Python. Le lecteur y découvre alors comment créer un inventaire, comment réinjecter des informations provenant de sources existantes (ESX, AWS, Docker…) ou comment créer des playbooks. La création de rôles Ansible est également traitée ainsi que quelques bonnes pratiques à suivre (analyse de code et test avec Molecule à l'aide de Podman ou Docker).
À côté des notions purement orientées Ansible, certains chapitres sont consacrés au déroulement du déploiement d’une application MediaWiki. Le lecteur étudie ainsi les problématiques de parallélisation des tâches, l’introduction d’un répartiteur de charge Haproxy et le lancement en séquence des opérations permettant de réaliser les mises à jour avec un impact minimal (rolling update). L’optimisation des tâches sera également un point important avec la mise en place de Mitogen.
La suite du livre détaille plus particulièrement la personnalisation d’Ansible. La restitution d’informations (mécanismes de callback et découverte de ARA), l’écriture de modules pour la gestion d’opérations, les filtres Jinja ou encore la création d’actions sont ainsi étudiés.
Enfin, l’auteur présente dans les derniers chapitres la problématique de la création de machines virtuelles, classiques (via l’hyperviseur ESX/VMware/vCenter) ou dans le cloud (avec AWS), l’utilisation de containers Podman/Docker avec Ansible, le pilotage d’applications dans un cluster Kubernetes ainsi que la création d’un opérateur.
2. Introduction au déploiement d’éléments dans Kubernetes
2.1 Containers et pods
2.2 Mécanismes de déploiement dans Kubernetes
2.3 Déploiement de pods dans Kubernetes
2.3.1 À propos de Keycloak
2.3.2 Configuration de Keycloak
2.3.3 Définition d’un objet StatefulSet
2.3.4 Création d’une entrée de service
2.3.5 Playbook de déploiement
2.3.6 Test du playbook de déploiement
2.4 Création d’un opérateur pour Keycloak
2.4.1 Contexte
2.4.2 Installation des prérequis
2.4.3 Initialisation de l’opérateur
2.4.4 Description de la structure de l’opérateur
2.5 Création de l’opérateur
2.5.1 Patron de l’objet StatefulSet
2.5.2 Variables par défaut
2.5.3 Patron de l’objet Service
2.5.4 Création des objets
3. Test de l’opérateur
3.1 Contexte
3.2 Définition du nouveau type d’objet
3.3 Installation des prérequis
3.4 Création d’un playbook de test
3.5 Vérification et suppression des objets de test
3.6 Lancement de l’opérateur depuis l’extérieur du cluster
3.7 Test de création d’un objet Keycloak
3.8 Vérification des objets créés
4. Déploiement de l’opérateur
4.1 Contexte
4.2 Configuration du registre Docker
4.3 Construction de l’image de l’opérateur
4.4 Déploiement de l’opérateur
4.5 Vérification de l’installation
4.6 Test de l’opérateur
4.7 Journaux d’activité de l’opérateur
Index
Livre très intéressant dont la progression des chapitres/informations est fluide
Jean-Philippe G
Tout est parfait
Frédéric D
Yannig PERRÉ
Administrateur système depuis de nombreuses années, Yannig PERRÉ est aujourd'hui spécialiste de la gestion d'applications à l'aide de conteneurs. Il associe naturellement à ce savoir-faire différents outils pour gérer les problématiques d'installation, de résilience, de scalabilité, de surveillance ainsi que de publication des applications sur Internet. Associée à sa longue expérience du monde open source, cette expertise lui permet de transmettre aux lecteurs des livres réellement efficaces sur la mise en œuvre d’Ansible, Kubernetes ou encore Prometheus et Grafana.