Préparation à la certification RHCE
Red Hat Enterprise Linux 8
Examen EX294
Editions ENI
Chapitre 1 Introduction
A. À qui s'adresse ce livre ?15
B. Les conditions de l'examen15
C. Par où commencer ?16
D. La certification RHCSA16
E. La certification RHCE18
1. Cursus RHEL 718
2. Cursus RHEL 819
F. Comment actualiser sa certification RHCE ?20
G. Après la certification RHCE ?20
Chapitre 2 Création d'un laboratoire
A. Quels outils vous faut-il ?26
1. Machines nécessaires26
2. Solutions alternatives26
B. Le système d'hôte et l'hyperviseur27
1. Installation du système d'hôte27
a. Obtenir l'image ISO27
b. Générer une clé USB amorçable27
c. Bouter le PC sur la clé USB30
d. Processus d'installation31
e. Tâches post-installation48
2. L'hyperviseur53
a. Présentation de KVM54
b. Installation de KVM54
c. Configuration de KVM55
C. Machine virtuelle modèle61
1. Création de la machine virtuelle modèle61
2. Installation du système invité70
D. Machines virtuelles de travail75
1. Clonage manuel75
2. Clonage par script76
E. Test des machines virtuelles78
1. Test de la VM server 178
2. Test de la VM server280
3. Test de la VM server382
Chapitre 3 Présentation de Ansible
A. Qu'est-ce que Ansible ?88
B. Architecture88
1. Le noeud de contrôle88
2. Les hôtes gérés89
3. Play et playbook89
4. Tâches et modules89
5. Plug-ins90
6. Ansible Tower et AWX90
a. Console web91
b. API REST91
7. Ansible Vault91
8. Ansible Galaxy91
9. Configuration Management DataBase91
10. Réseaux92
C. Installation de Ansible92
1. Prérequis92
2. Processus d'installation sur RHEL 8.093
3. Processus d'installation sur CentOS 8.093
4. Tâches post-installation95
a. Afficher la version de Ansible95
b. Afficher la configuration95
c. Tester la communication96
D. Hôtes gérés Unix et Linux100
E. Hôtes gérés Microsoft Windows101
F. Hôtes gérés réseau101
G. Validation des acquis : questions/réponses101
H. Travaux pratiques103
1. Installer Ansible103
Chapitre 4 Déploiement
A. Gestion des inventaires108
1. Inventaire statique108
a. Fichier d'inventaire au format INI108
b. Fichier d'inventaire au format YAML111
c. Manipulation de fichiers d'inventaire120
2. Inventaire dynamique121
a. Utilisation de scripts fournis121
b. Utilisation de vos propres scripts122
c. Exécution de scripts d'inventaire dynamiques123
3. Inventaires multiples123
B. Configuration de Ansible124
1. Emplacement du fichier ansible.cfg124
2. Directives du fichier de configuration125
a. Section [defaults]126
b. Section [privilege_escalation]126
C. Utilisation des commandes ad hoc126
1. Module de fichiers127
2. Modules pour gérer les paquets logiciels128
3. Modules du système131
4. Module Shell134
5. Collecter les faits135
D. Validation des acquis : questions/réponses135
E. Travaux pratiques139
1. Les fichiers d'inventaire139
2. Configurer ansible140
3. Utilisation des commandes ad hoc141
Chapitre 5 Playbooks
A. Définition146
B. Écriture d'un playbook146
C. Exécution de playbooks147
1. Principe de fonctionnement147
2. Verbosité des playbooks148
3. Vérification de la syntaxe148
a. Vérification avec Ansible-playbook148
b. Vérification avec yamllint150
4. Exécution à blanc d'un playbook150
D. Validation des acquis : questions/réponses151
E. Travaux pratiques152
1. Installation de Apache HTTP Server152
2. Déployer et configurer mariaDB153
Chapitre 6 Variables Ansible
A. Définition d'une variable158
1. Nom d'une variable158
2. Étendue des variables158
3. Types de variables164
a. Types primitifs165
b. Dictionnaires165
B. Utilisation de variables Ansible166
C. Récupérer le résultat d'une commande168
D. Variables externes172
E. Variables définies sur la ligne de commande173
F. Chiffrer les variables175
1. Présentation de Ansible Vault175
2. Gestion d'un fichier chiffré176
a. Création176
b. Consultation177
c. Modification177
d. Chiffrer un fichier existant178
e. Déchiffrer un fichier existant178
f. Changer le mot de passe d'un fichier chiffré179
g. Exécution d'un playbook179
G. Validation des acquis : questions/réponses180
H. Travaux pratiques183
1. Manipulation de variables183
2. Manipulation de variables chiffrées185
Chapitre 7 Gestion des faits
A. Présentation des faits de Ansible190
1. Collecte des faits190
2. Variable ansible_facts192
3. Activer ou désactiver la collecte193
B. Faits personnalisés193
1. Stockage des faits193
2. Faits statiques195
3. Faits dynamiques195
C. Module set_fact199
D. Variables magiques200
1. Variable magique hostvars200
2. Variable magique groups201
3. Variable magique group_names202
4. Variable magique inventory_hostname202
E. Validation des acquis : questions/réponses203
F. Travaux pratiques205
1. Gestion des faits de Ansible et des faits personnalisés205
Chapitre 8 Contrôle de tâches
A. Itération de tâches210
1. Itération sur une simple liste210
2. Itération sur une liste de hachage212
3. Itération sur un dictionnaire215
4. Capturer le résultat d'une tâche en boucle217
B. Tâches conditionnelles219
1. Conditions simples219
2. Conditions multiples230
a. Conditions combinées avec le mot-clé and230
b. Conditions combinées avec le mot-clé or231
C. Gestionnaires Ansible231
D. Gestion des erreurs de tâche232
1. Ignorer l'échec d'une tâche232
2. Forcer l'exécution des gestionnaires234
3. Spécifier les conditions d'échec d'une tâche236
a. failed_when236
b. fail237
4. Spécifier une tâche signalant un résultat « Changed »238
5. Gérer les erreurs au sein des blocs Ansible239
E. Validation des acquis : questions/réponses241
F. Travaux pratiques243
1. Boucles et tâches conditionnelles243
2. Gestionnaires Ansible243
3. Échecs de tâche244
Chapitre 9 Manipulation de fichiers sur les hôtes
A. Introduction250
B. Présentation des modules de fichiers250
C. Appliquer les ACL de fichiers251
D. Modifier l'horodatage des fichiers252
E. Copie de fichiers254
1. Module copy254
2. Module fetch257
F. Suppression de fichiers259
G. Déplacement et renommage des fichiers259
H. Recherche de fichiers260
I. Informations sur l'état d'un fichier263
J. Manipulation d'archives264
1. Création d'une archive264
2. Extraction d'une archive265
K. Modification de fichiers266
1. Module lineinfile266
2. Module blockinfile267
3. Module replace268
L. Modifications de contexte de fichier SELinux269
M. Synchronisation de fichiers271
N. Modèles JINJA2272
1. Présentation de Jinja2272
2. Conception et application d'un modèle272
3. Structures de contrôle274
a. Boucles274
b. Conditions274
c. Opérateurs275
4. Filtres278
a. Filtres de variable278
b. Filtres utilisés avec des conditions279
5. Déployer un fichier personnalisé280
O. Validation des acquis : questions/réponses281
P. Travaux pratiques283
1. Gestion de fichiers283
2. Archivage284
3. Apache285
Chapitre 10 Gestion des rôles Ansible
A. Présentation des rôles292
B. Structure des rôles292
C. Variables293
1. Variables de rôle293
2. Variables par défaut293
D. Utilisation de rôles294
1. Fonctionnement des rôles294
2. Contrôle de l'ordre d'exécution294
E. Rôles système301
1. Présentation des rôles système301
a. Rôles système avec support301
b. Rôles système en préversion technologique301
c. Rôles système en cours de développement301
2. Installation de rôles système302
3. Accès à la documentation des rôles système304
4. Utilisation des rôles système305
a. rhel-system-roles.kdump305
b. rhel-system-roles.network307
c. rhel-system-roles.selinux308
d. rhel-system-roles.storage312
e. rhel-system-roles.timesync314
F. Création de rôles314
1. Création de la structure du dossier314
2. Définition du contenu du rôle317
G. Déploiement de rôle321
1. Ansible Galaxy321
a. Présentation de Ansible Galaxy321
b. Aide et documentation sur Ansible Galaxy321
c. Rechercher des rôles323
2. Commande ansible-galaxy324
a. Recherche de rôles324
b. Information d'un rôle324
c. Installation de rôles325
d. Gestion des rôles locaux327
H. Validation des acquis : questions/réponses328
I. Travaux pratiques330
1. Utilisation d'un rôle système330
2. Création d'un rôle332
Chapitre 11 Dépannage
A. Introduction338
B. Outils de dépannage338
1. Système de journalisation338
2. Syntaxe YAML339
a. Configuration de Vim339
b. Utilitaire yamllint341
3. Commande ansible-playbook342
a. Option --syntax-check342
P. Option --check342
c. Option --step343
d. Option --start-at-task344
4. Débogage des tâches344
5. Fonctionnement de Ansible346
C. Problèmes de connexion avec les hôtes gérés346
1. Configuration réseau347
2. Identification et authentification347
3. Utilisation de commandes ad hoc350
D. Résolution de problèmes concernant les playbooks350
1. Analyser la sortie d l'écran350
2. Utilisation du mode check352
a. Prise en charge du mode check353
b. Activation ou désactivation du mode check353
c. Voir les modifications apportées353
E. Quelques bonnes pratiques358
1. Définir le nom des plays et des tâches358
a. Nom d'un play358
b. Nom d'une tâche358
2. Commentaire et documentation359
3. Rédaction du code359
F. Validation des acquis : questions/réponses360
Chapitre 12 Examen blanc
A. Préparation365
1. Les objectifs de l'examen365
2. Élaboration de l'environnement365
3. Quelques conseils365
B. Examen blanc366
1. Installer et configurer Ansible366
2. Commandes Ad-hoc366
3. Modifier le fichier motd367
4. Configurer le serveur SSH367
5. Utiliser Ansible Vault367
6. Gestion des utilisateurs367
7. Tâches programmées368
8. Créer un rôle pour MariaDB368
9. Apache369
10. Utiliser un rôle de Ansible Galaxy369
11. SELinux369
12. Créer une archive370
13. Gestion de paquets370
14. Systemd370
15. Configurer les paramètres du noyau370
16. Modèle Jinja2370
17. Ansible Facts371
C. Correction de l'examen blanc371
1. Correction : installation et configuration de Ansible371
2. Correction : commandes Ad-hoc373
3. Correction : modifier le fichier motd374
4. Correction : configurer le serveur SSH375
5. Correction : utiliser Ansible Vault376
6. Correction : gestion des utilisateurs377
7. Tâche 7 ; tâches programmées378
8. Correction ; créer un rôle pour MoriaDB379
9. Correction : Apache383
10. Correction ; utiliser un rôle de Ansible Galaxy385
11. Correction : SELinux386
12. Correction : créer une archive387
13. Correction : gestion de paquets387
14. Correction : systemd388
15. Correction ; configurer les paramètres du noyau389
16. Correction : modèle Jinja2389
17. Correction ; Ansible Facts390
Chapitre 13 Corrections des travaux pratiques
A. Corrections du TP chapitre Présentation de Ansible395
1. Installer Ansible395
B. Corrections du TP chapitre Déploiement401
1. Les fichiers d'inventaire401
2. Configurer ansible404
3. Utilisation des commandes ad hoc406
C. Corrections du TP chapitre Playbooks408
1. Installation de Apache HTTP Server408
2. Déployer et configurer mariaDB412
D. Corrections du TP chapitre Variables Ansible416
1. Manipulation de variables416
2. Manipulation de variables chiffrées419
E. Corrections du TP chapitre Gestion des faits424
1. Gestion des faits de Ansible et des faits personnalisés424
F. Corrections du TP chapitre Contrôle de tâches428
1. Boucles et tâches conditionnelles428
2. Gestionnaires Ansible430
3. Échecs de tâche434
G. Corrections du TP du chapitre Gestion de fichiers sur les hôtes436
1. Gestion de fichiers436
2. Archivage439
3. Apache442
H. Corrections du TP du chapitre Gestion des rôles Ansible448
1. Utilisation d'un rôle système448
2. Création d'un rôle455
Tableau des objectifs461
index465