• Aide
  • Eurêkoi Eurêkoi

Livre

Red Hat Ansible Engine : gérez l'automatisation de vos configurations Linux

Résumé

Guide proposant des outils théoriques et pratiques aux administrateurs système en matière d'exécution de tâches courantes sur un grand nombre de systèmes : principaux composants et fonctions avancées d'Ansible, conception d'inventaires au format INI ou YAML, utilisation de commandes et de playbooks, création de modèles Jinja2, gestion de variables et contrôle des tâches.


  • Éditeur(s)
  • Date
    • C 2020
  • Notes
    • IT = Informatique technique
    • La couv. porte en plus : "Informatique technique" ; "Version en ligne offerte ! pendant 1 an"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (379) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-02729-1
  • Indice
    • 681.44 Systèmes d'exploitation Unix, Linux
  • Quatrième de couverture
    • Red Hat Ansible Engine

      Gérez l'automatisation de vos configurations Linux

      Ce livre s'adresse aux administrateurs système Linux qui souhaitent disposer des connaissances nécessaires pour gérer plusieurs systèmes à l'aide de Red Hat Ansible Engine, ainsi qu'en matière d'exécution de tâches d'administration système courantes. À l'aide d'exemples concrets, le lecteur apprend ainsi à automatiser le provisionnement, la configuration, l'orchestration d'un grand nombre de systèmes ou le déploiement d'applications.

      Après une présentation de l'architecture de Ansible Engine et de son installation, le lecteur découvre les principaux composants d'Ansible et apprend à installer et configurer des noeuds gérés. Il étudie ensuite la conception d'inventaires au format INI ou YAML puis l'utilisation de modules ou de rôles par le biais de commandes ad hoc et de playbooks pour exécuter des tâches d'administration.

      Dans la suite du livre, il apprend à gérer des variables et à contrôler des tâches avec des itérations ou des conditions, à gérer des faits Ansible ou personnalisés, à manipuler des fichiers sur les hôtes, à créer des modèles Jinja2 ou encore à manipuler les rôles dans Ansible. Dans un ultime chapitre, l'auteur met l'accent sur les outils de dépannage permettant de corriger la syntaxe du langage YAML et de déboguer les tâches dans des playbooks.

      Pour finir, le lecteur découvre quelques bonnes pratiques à mettre en oeuvre dans son utilisation de Ansible Engine pour optimiser la gestion de ses systèmes.


  • Tables des matières
      • Red Hat Ansible Engine

      • Gérez l'automatisation de vos configurations Linux

      • Éditions ENI

      • Avant-propos
      • Chapitre 1
      • Création d'un laboratoire
      • 1. Quels outils vous faut-il ?11
      • 1.1 Machines nécessaires12
      • 1.2 Solutions alternatives12
      • 2. Le système d'hôte et l'hyperviseur13
      • 2.1 Installation du système d'hôte13
      • 2.1.1 Obtenir l'image ISO13
      • 2.1.2 Générer une clé USB amorçable14
      • 2.1.3 Bouter le PC sur la clé USB16
      • 2.1.4 Processus d'installation18
      • 2.1.5 Tâches post-installation38
      • 2.2 L'hyperviseur44
      • 2.2.1 Présentation de KVM44
      • 2.2.2 Installation de KVM45
      • 2.2.3 Configuration de KVM46
      • 3. Machine virtuelle modèle54
      • 3.1 Création de la machine virtuelle modèle54
      • 3.2 Installation du système invité67
      • 4. Machines virtuelles de travail72
      • 4.1 Clonage manuel72
      • 4.2 Clonage par script73
      • 5. Test des machines virtuelles75
      • 5.1 Test de la VM server176
      • 5.2 Test de la VM server278
      • 5.3 Test de la VM server379
      • Chapitre 2
      • Présentation de Ansible
      • 1. Qu'est-ce que Ansible ?81
      • 2. Architecture81
      • 2.1 Le noeud de contrôle82
      • 2.2 Les hôtes gérés83
      • 2.3 Play et playbook83
      • 2.4 Tâches et modules84
      • 2.5 Plug-ins85
      • 2.6 Ansible Tower et AWX86
      • 2.6.1 Console web86
      • 2.6.2 API REST86
      • 2.7 Ansible Vault87
      • 2.8 Ansible Galaxy87
      • 2.9 Configuration Management DataBase88
      • 2.10 Réseaux88
      • 3. Installation de Ansible89
      • 3.1 Prérequis89
      • 3.2 Processus d'installation sur RHEL 8.090
      • 3.3 Processus d'installation sur CentOS 8.090
      • 3.4 Tâches post-installation92
      • 3.4.1 Afficher la version de Ansible92
      • 3.4.2 Afficher la configuration93
      • 3.4.3 Tester la communication94
      • 4. Hôtes gérés Unix et Linux98
      • 5. Hôtes gérés Microsoft Windows99
      • 6. Hôtes gérés réseau100
      • Chapitre 3
      • Déploiement
      • 1. Gestion des inventaires101
      • 1.1 Inventaire statique101
      • 1.1.1 Fichier d'inventaire au format INI102
      • 1.1.2 Fichier d'inventaire au format YAML106
      • 1.1.3 Manipulation de fichiers d'inventaire117
      • 1.2 Inventaire dynamique119
      • 1.2.1 Utilisation de scripts fournis119
      • 1.2.2 Utilisation de vos propres scripts120
      • 1.2.3 Exécution de scripts d'inventaire dynamiques121
      • 1.3 Inventaires multiples122
      • 2. Configuration de Ansible123
      • 2.1 Emplacement du fichier ansible.cfg123
      • 2.2 Directives du fichier de configuration124
      • 2.2.1 Section [defaults]125
      • 2.2.2 Section [privilege_escalation]126
      • 3. Utilisation des commandes ad hoc126
      • 3.1 Module de fichiers127
      • 3.2 Modules pour gérer les paquets logiciels128
      • 3.3 Modules du système132
      • 3.4 Module shell137
      • 3.5 Collecter les faits137
      • Chapitre 4
      • Playbooks
      • 1. Définition139
      • 2. Écriture d'un playbook139
      • 3. Exécution de playbooks141
      • 3.1 Principe de fonctionnement142
      • 3.2 Verbosité des playbooks143
      • 3.3 Vérification de la syntaxe143
      • 3.3.1 Vérification avec Ansible-playbook144
      • 3.3.2 Vérification avec yamllint145
      • 3.4 Exécution à blanc d'un playbook146
      • Chapitre 5
      • Variables Ansible
      • 1. Définition d'une variable147
      • 1.1 Nom d'une variable147
      • 1.2 Étendue des variables148
      • 1.3 Types de variables157
      • 1.3.1 Types primitifs157
      • 1.3.2 Dictionnaires158
      • 2. Utilisation de variables Ansible159
      • 3. Récupérer le résultat d'une commande162
      • 4. Variables externes167
      • 5. Variables définies sur la ligne de commande169
      • 6. Chiffrer les variables172
      • 6.1 Présentation de Ansible Vault172
      • 6.2 Gestion d'un fichier chiffré172
      • 6.2.1 Création173
      • 6.2.2 Consultation174
      • 6.2.3 Modification175
      • 6.2.4 Chiffrer un fichier existant175
      • 6.2.5 Déchiffrer un fichier existant176
      • 6.2.6 Changer le mot de passe d'un fichier chiffré176
      • 6.2.7 Exécution d'un playbook176
      • Chapitre 6
      • Gestion des faits
      • 1. Présentation des faits de Ansible179
      • 1.1 Collecte des faits180
      • 1.2 Variable ansible_facts182
      • 1.3 Activer ou désactiver la collecte184
      • 2. Faits personnalisés184
      • 2.1 Stockage des faits184
      • 2.2 Faits statiques186
      • 2.3 Faits dynamiques187
      • 3. Module set_fact191
      • 4. Variables magiques193
      • 4.1 Variable magique hostvars193
      • 4.2 Variable magique groups195
      • 4.3 Variable magique group_names195
      • 4.4 Variable magique inventory_hostname196
      • Chapitre 7
      • Contrôle de tâches
      • 1. Itération de tâches199
      • 1.1 Itération sur une simple liste200
      • 1.2 Itération sur une liste de hachage203
      • 1.3 Itération sur un dictionnaire206
      • 1.4 Capturer le résultat d'une tâche en boucle208
      • 2. Tâches conditionnelles211
      • 2.1 Conditions simples212
      • 2.2 Conditions multiples226
      • 2.2.1 Conditions combinées avec le mot-clé and226
      • 2.2.2 Conditions combinées avec le mot-clé or227
      • 3. Gestion Ansible227
      • 4. Gestion des erreurs de tâche229
      • 4.1 Ignorer l'échec d'une tâche229
      • 4.2 Forcer l'exécution des gestionnaires232
      • 4.3 Spécifier les conditions d'échec d'une tâche234
      • 4.3.1 failed_when235
      • 4.3.2 fai1236
      • 4.4 Spécifier une tâche signalant un résultat « Changed »238
      • 4.5 Gérer les erreurs au sein des blocs Ansible239
      • Chapitre 8
      • Manipulation de fichiers sur les hôtes
      • 1. Introduction243
      • 2. Présentation des modules de fichiers244
      • 3. Appliquer les ACL de fichiers245
      • 4. Modifier l'horodatage des fichiers246
      • 5. Copie de fichiers249
      • 5.1 Module copy249
      • 5.2 Module fetch252
      • 6. Suppression de fichiers255
      • 7. Déplacement et renommage des fichiers255
      • 8. Recherche de fichiers257
      • 9. Informations sur l'état d'un fichier260
      • 10. Manipulation d'archives262
      • 10.1 Création d'une archive262
      • 10.2 Extraction d'une archive263
      • 11. Modification de fichiers264
      • 11.1 Module lineinfile264
      • 11.2 Module blockinfile265
      • 11.3 Module replace268
      • 12. Modifications de contexte de fichier SELinux269
      • 13. Synchronisation de fichiers271
      • 14. Modèles Jinja2272
      • 14.1 Présentation de Jinja2272
      • 14.2 Conception et application d'un modèle273
      • 14.3 Structures de contrôle275
      • 14.3.1 Boucles275
      • 14.3.2 Conditions275
      • 14.3.3 Opérateurs276
      • 14.4 Filtres279
      • 14.4.1 Filtres de variable279
      • 14.4.2 Filtres utilisés avec des conditions281
      • 14.5 Déployer un fichier personnalisé282
      • Chapitre 9
      • Gestion des rôles Ansible
      • 1. Présentation des rôles285
      • 2. Structure des rôles286
      • 3. Variables287
      • 3.1 Variables de rôle287
      • 3.2 Variables par défaut288
      • 4. Utilisation de rôles288
      • 4.1 Fonctionnement des rôles288
      • 4.2 Contrôle de l'ordre d'exécution289
      • 5. Rôles système297
      • 5.1 Présentation des rôles système297
      • 5.1.1 Rôles système avec support297
      • 5.1.2 Rôles système en préversion technologique298
      • 5.1.3 Rôles système en cours de développement298
      • 5.2 Installation de rôles système299
      • 5.3 Accès à la documentation des rôles système301
      • 5.4 Utilisation des rôles système303
      • 5.4.1 rhel-system-roles.kdump303
      • 5.4.2 rhel-system-roles.network305
      • 5.4.3 rhel-system-roles.selinux306
      • 5.4.4 rhel-system-roles.storage312
      • 5.4.5 rhel-system-roles.timesync314
      • 6. Création de rôles315
      • 6.1 Création de la structure du dossier316
      • 6.2 Définition du contenu du rôle319
      • 7. Déploiement de rôle324
      • 7.1 Ansible Galaxy324
      • 7.1.1 Présentation de Ansible Galaxy324
      • 7.1.2 Aide et documentation sur Ansible Galaxy324
      • 7.1.3 Rechercher des rôles326
      • 7.2 Commande ansible-galaxy327
      • 7.2.1 Recherche de rôles327
      • 7.2.2 Information d'un rôle328
      • 7.2.3 Installation de rôles329
      • 7.2.4 Gestion des rôles locaux332
      • Chapitre 10
      • Dépannage
      • 1. Introduction335
      • 2. Outils de dépannage335
      • 2.1 Système de journalisation336
      • 2.2 Syntaxe YAML337
      • 2.2.1 Configuration de Vim338
      • 2.2.2 Utilitaire yamllint341
      • 2.3 Commande ansible-playbook341
      • 2.3.1 Option -syntax-check341
      • 2.3.2 Option -check342
      • 2.3.3 Option -step343
      • 2.3.4 Option -start-at-task344
      • 2.4 Débogage des tâches344
      • 2.5 Fonctionnement de Ansible347
      • 3. Problèmes de connexion avec les hôtes gérés347
      • 3.1 Configuration réseau348
      • 3.2 Identification et authentification349
      • 3.3 Utilisation de commandes ad hoc352
      • 4. Résolution de problèmes concernant les playbooks353
      • 4.1 Analyser la sortie à l'écran353
      • 4.2 Utilisation du mode check356
      • 4.2.1 Prise en charge du mode check356
      • 4.2.2 Activation ou désactivation du mode check356
      • 4.2.3 Voir les modifications apportées357
      • 5. Quelques bonnes pratiques363
      • 5.1 Définir le nom des plays et des tâches364
      • 5.1.1 Nom d'un play364
      • 5.1.2 Nom d'une tâche364
      • 5.2 Commentaire et documentation365
      • 5.3 Rédaction du code365
      • Index367

  • Origine de la notice:
    • BPI
  • Disponible - 681.44 PIN

    Niveau 3 - Informatique