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