Lire ceci dans d'autres langues :
Anglais, 日本語, Portugais du Brésil, Français, Espagnol.
Dans cet exercice, vous utiliserez Ansible pour effectuer des tâches de configuration système de base sur un serveur Red Hat Enterprise Linux. Vous vous familiariserez avec les modules fondamentaux d'Ansible comme dnf
et user
, et apprendrez à créer et exécuter des playbooks.
Les playbooks dans Ansible sont essentiellement des scripts écrits au format YAML. Ils sont utilisés pour définir les tâches et configurations qu'Ansible appliquera à vos serveurs.
Tout d'abord, créez un fichier texte au format YAML pour votre playbook. Souvenez-vous :
- Commencez par trois tirets (
---
). - Utilisez des espaces, pas des tabulations, pour l'indentation.
Concepts Clés :
hosts
: Spécifie les serveurs ou appareils cibles sur lesquels votre playbook s'exécutera.tasks
: Les actions qu'Ansible effectuera.become
: Permet l'escalade de privilèges (exécution de tâches avec des privilèges élevés).
NOTE : Un playbook Ansible est conçu pour être idempotent, ce qui signifie que si vous l'exécutez plusieurs fois sur les mêmes hôtes, il assure l'état souhaité sans effectuer de changements redondants.
Avant de créer votre premier playbook, assurez-vous d'être dans le bon répertoire en changeant pour ~/lab_inventory
:
cd ~/lab_inventory
Créez maintenant un playbook nommé system_setup.yml
pour effectuer la configuration système de base :
- Mettre à jour tous les paquets liés à la sécurité.
- Créer un nouvel utilisateur nommé ‘myuser’.
La structure de base se présente comme suit :
---
- name: Basic System Setup
hosts: node1
become: true
tasks:
- name: Update all security-related packages
ansible.builtin.dnf:
name: '*'
state: latest
security: true
- name: Create a new user
ansible.builtin.user:
name: myuser
state: present
create_home: true
NOTE : La mise à jour des paquets peut prendre quelques minutes avant la fin de l'exécution du playbook Ansible.
-
À propos du module
dnf
: Ce module est utilisé pour la gestion des paquets avec DNF (YUM Dandifié) sur RHEL et d'autres systèmes basés sur Fedora. -
À propos du module
user
: Ce module est utilisé pour gérer les comptes d'utilisateurs.
Exécutez votre playbook en utilisant la commande ansible-navigator
:
[student@ansible-1 lab_inventory]$ ansible-navigator run system_setup.yml -m stdout
Revoyez la sortie pour vous assurer que chaque tâche est terminée avec succès.
Maintenant, créons un second playbook pour les vérifications post-configuration, nommé system_checks.yml
:
---
- name: System Configuration Checks
hosts: node1
become: true
tasks:
- name: Check user existence
ansible.builtin.command:
cmd: id myuser
register: user_check
- name: Report user status
ansible.builtin.debug:
msg: "L'utilisateur 'myuser' existe."
when: user_check.rc == 0
Exécutez le playbook de vérifications :
[student@ansible-1 lab_inventory]$ ansible-navigator run system_checks.yml -m stdout
Revoyez la sortie pour vous assurer que la création de l'utilisateur a été réussie.
Navigation
{% if page.url contains 'ansible_rhel_90' %}
Exercise précédent - Exercise suivant
{% else %}
Exercise précédent - Exercise suivant
{% endif %}