👋 Dans cette section, nous allons vous guider à travers les étapes nécessaires pour installer Ansible et configurer votre environnement.
Ansible est un outil d'automatisation qui facilite la gestion des serveurs et des applications. Il est "sans agent", ce qui signifie qu'il n'a pas besoin d'un logiciel spécial installé sur les machines que vous gérez. Il est populaire parce qu'il est simple à utiliser, efficace, et utilise des fichiers YAML faciles à comprendre.
Serveur Ansible
:
C'est l'ordinateur (un laptop, un PC ou un serveur) où Ansible est installé. Il contient :Playbooks
:
Ce sont des fichiers qui définissent ce que vous voulez faire (comme installer des logiciels ou configurer des paramètres).Inventaire
:
Une liste des serveurs que vous gérez, appelée "hôtes",Il sert aussi à organiser ces serveurs en groupes afin de faciliter la gestion et l'exécution des tâches.ansible.cfg
: Contient la configuration par défaut pour Ansible,
Rôles
:
Groupes de tâches organisées pour une fonction spécifique (par exemple, installer un serveur web).Tâches
:
Ce sont les commandes individuelles que vous voulez exécuter (comme "installer nginx").
Ansible communique avec les serveurs cibles en utilisant SSH, sans nécessiter de mot de passe à chaque fois.
- Vous créez des playbooks et un inventaire sur votre machine locale.
- Vous établissez une connexion SSH sans mot de passe aux serveurs cibles.
- Ansible recueille des informations (gather facts) sur les serveurs cibles pour connaître leur état.
- Ansible envoie les instructions (playbooks) aux serveurs.
- Les serveurs exécutent les tâches définies dans les playbooks.
Avant de commencer, assurez-vous d'avoir :
- 3 machines virtuels (1 control node & 2 target nodes) ayant les système Red Hat Enterprise Linux ou CentOS installé. https://www.mediafire.com/file/vckh650ljsd9vjd/RHEL9.zip/file
- le paquet python3 est installé sur les 3 machines.
yum install python3
yum install ansible-core
useradd ansible
passwd ansible
vim /etc/sudoers.d/ansible
ansible ALL=(ALL) NOPASSWD: ALL
NB: avant de commencer, vous pouvez nommer les machines comme suit.
vim /etc/hosts
son@ip control-node1
son@ip target-node1
son@ip target-node2
4. configurer la connexion ssh sans mot de passe depuis le control node en tant que remote user vers les 2 machines.
ssh ansible@localhost
ssh-keygen
ls .ssh
ssh-copy-id ansible@target-node1
ssh-copy-id ansible@target-node2
[group1]
target-node1
[group2]
target-node2
[defaults]
remote_user=ansible
inventory=/home/ansible/inventory
[privilege_escalation]
become=true
ssh ansible@target-node1
ansible target-node1 -m ping