Skip to main content

Pratique 2 - Questions de développement

Table des matières​

  1. L'Inventaire Ansible
  2. Les Playbooks
  3. Les Variables dans Ansible
  4. Les Conditions when
  5. Les Modules Ansible
  6. Les Roles Ansible
  7. Les Handlers Ansible
  8. Les Tags Ansible
  9. Les Fichiers de Configuration Ansible
  10. Les Fichiers de Variables Ansible
  11. Les Fichiers de Roles Ansible
  12. Ansible Vault
  13. Sécurisation des Secrets avec Ansible Vault
  14. Utilisation de Jinja2 dans les Templates Ansible
  15. Jinja2 et le Chiffrement des Variables


Question 1 - L'Inventaire Ansible​


Qu'est-ce qu'un inventaire dans Ansible, et à quoi sert-il dans la gestion des infrastructures ? Fournissez un extrait d'un fichier inventory.ini vu dans les pratiques (avec des groupes et des nœuds) et expliquez les éléments qui le composent.

🔙 Retour à la Table des Matières​



Question 2 - Les Playbooks​


Qu'est-ce qu'un playbook Ansible ? Expliquez son rôle dans l'automatisation des tâches. Donnez un extrait d'un playbook utilisé en classe pour installer un service (par exemple, Apache ou Git), et expliquez le fonctionnement des modules employés.

🔙 Retour à la Table des Matières​



Question 3 - Les Variables dans Ansible​


Expliquez comment l'utilisation de variables rend les playbooks plus flexibles. Fournissez un extrait d'un playbook ou d'un fichier de variables vu en classe, et expliquez comment ces variables sont utilisées dans une tâche.

🔙 Retour à la Table des Matières​



Question 4 - Les Conditions when​


Expliquez le rôle de la directive when dans un playbook Ansible. Pourquoi est-elle utile ? Donnez un extrait de playbook utilisant when pour exécuter des tâches spécifiques en fonction du système d'exploitation (par exemple, ansible_os_family). Expliquez comment cette condition adapte l'exécution des tâches selon les caractéristiques des hôtes. Proposez un scénario pratique où l'utilisation de when serait indispensable pour éviter des erreurs ou optimiser une tâche.

🔙 Retour à la Table des Matières​



Question 5 - Les Modules Ansible​


Expliquez comment les modules Ansible sont utilisés pour automatiser les tâches. Fournissez un exemple concret d'un module utilisé en classe pour configurer un service (par exemple, apt pour les paquets Debian ou yum pour les paquets CentOS). Expliquez comment ce module est utilisé dans un playbook pour installer ou configurer un service.

🔙 Retour à la Table des Matières​



Question 6 - Les Roles Ansible​


Qu'est-ce qu'un role Ansible ? Expliquez son rôle dans la structure des playbooks. Fournissez un extrait d'un role utilisé en classe pour configurer un service (par exemple, nginx). Expliquez comment ce role est organisé et comment les tâches sont définies dans les fichiers de ce role.

🔙 Retour à la Table des Matières​



Question 7 - Les Handlers Ansible​


Expliquez le rôle des handlers dans Ansible. Quand sont-ils utilisés ? Fournissez un extrait de playbook utilisant un handler pour redémarrer un service après une modification de configuration. Expliquez comment ce handler est déclenché et comment il permet de garantir que les modifications sont appliquées.

🔙 Retour à la Table des Matières​



Question 8 - Les Tags Ansible​


Expliquez comment les tags sont utilisés dans Ansible. Quand sont-ils utilisés ? Fournissez un extrait de playbook avec des tags pour exécuter des tâches spécifiques. Expliquez comment ces tags permettent de sélectionner des tâches à exécuter dans un playbook.

🔙 Retour à la Table des Matières​



Question 9 - Les Fichiers de Configuration Ansible​


Expliquez comment les fichiers de configuration Ansible sont utilisés pour personnaliser l'exécution des playbooks. Fournissez un extrait d'un fichier de configuration (par exemple, ansible.cfg) vu en classe et expliquez comment il est utilisé pour configurer l'exécution des playbooks.

🔙 Retour à la Table des Matières​



Question 10 - Les Fichiers de Variables Ansible​


Expliquez comment les fichiers de variables sont utilisés dans Ansible. Fournissez un extrait d'un fichier de variables vu en classe et expliquez comment il est utilisé pour fournir des valeurs aux tâches dans un playbook.

🔙 Retour à la Table des Matières​



Question 11 - Les Fichiers de Roles Ansible​


Expliquez comment les fichiers de roles sont utilisés dans Ansible. Fournissez un extrait d'un fichier de roles vu en classe et expliquez comment il est utilisé pour définir des tâches dans un role.

🔙 Retour à la Table des Matières​



Question 12 - Ansible Vault​


Qu'est-ce qu'Ansible Vault et quel est son rôle dans la gestion sécurisée des données sensibles ?

  • Expliquez comment chiffrer un fichier contenant des variables sensibles à l'aide d'Ansible Vault.
  • Fournissez un extrait de commande permettant de créer, chiffrer et décrypter un fichier avec Ansible Vault.
  • Donnez un exemple de playbook utilisant un fichier chiffré avec Ansible Vault et expliquez comment ce fichier est utilisé de manière sécurisée dans l'exécution d'Ansible.

🔙 Retour à la Table des Matières​



Question 13 - Sécurisation des Secrets avec Ansible Vault​


Pourquoi est-il essentiel de sécuriser les secrets (mots de passe, clés API, certificats) dans Ansible ?

  • Donnez un exemple d'utilisation d'Ansible Vault pour stocker et récupérer un mot de passe de base de données dans un playbook.
  • Expliquez comment Ansible Vault peut être utilisé conjointement avec un gestionnaire de secrets externe (par exemple, HashiCorp Vault ou AWS Secrets Manager).

🔙 Retour à la Table des Matières​



Question 14 - Utilisation de Jinja2 dans les Templates Ansible​


Qu'est-ce que Jinja2 et quel est son rôle dans la génération dynamique des fichiers de configuration avec Ansible ?

  • Fournissez un exemple de template Jinja2 utilisé dans un playbook pour générer un fichier de configuration basé sur des variables Ansible.
  • Expliquez comment Jinja2 peut être utilisé avec des filtres et des structures conditionnelles pour adapter dynamiquement le contenu des fichiers générés.

🔙 Retour à la Table des Matières​



Question 15 - Jinja2 et le Chiffrement des Variables​


Comment utiliser Jinja2 pour manipuler et afficher des variables chiffrées avec Ansible Vault ?

  • Donnez un exemple de playbook utilisant un template Jinja2 pour insérer une variable chiffrée dans un fichier de configuration.
  • Expliquez comment éviter d'afficher accidentellement des secrets sensibles dans les logs d'exécution d'Ansible.

🔙 Retour à la Table des Matières​