Ansible est un outil d'automatisation qui permet d'installer et de configurer efficacement des machines à travers des recettes écrites en YAML. Il simplifie la gestion des configurations et des déploiements en utilisant SSH et Python.
ℹ Info : il existe des outils similaires (Chef, Puppet, SaltStack, Fabric, Terraform)
- Simplicité : Écrit en YAML, facile à apprendre et à lire.
- Homogénéité : Uniformise la configuration des machines.
- Versatilié : Utilise uniquement SSH et Python.
Pour utiliser ce projet, vous devez installer Git, Ansible et les modules de la communauté ansible-galaxy :
sudo apt install ansible git
ansible-galaxy collection install community.general
git clone https://github.com/medaey/role-ansible.git
cd role-ansible/
Assurez-vous d'adapter ces commandes selon votre distribution Linux (par exemple, utilisez yum
pour CentOS/RHEL).
Avant tout je vous invite a regarer et modifier le contenu du dossier inventories
, ce dossier contient les machines qui seront administrer via ansible.
Pour exécuter le rôle my_tools
sur les machines définies dans votre fichier d'inventaire :
Assurez-vous que vos machines cibles sont correctement configurées dans l'inventaire et qu'elles appartiennent au groupe correspondant au rôle my_tools
.
# Démarrer l'agent SSH
eval "$(ssh-agent -s)"
# Ajouter votre clé SSH RSA
ssh-add ~/.ssh/id_ed25519
# Executer une playbook
ansible-playbook playbooks/my_tools.yml
Vous pouvez toujour effectuer un ping sur vos machines pour vérifier quelle soit bien disponible.
ansible all -m ping
Pour éviter de devoir saisir votre passphrase à chaque fois que vous vous connectez a une machine, vous pouvez ajouter votre clé privée à l'agent SSH de votre système local. Assurez-vous que l'agent SSH est démarré :
Si vous utilisez une clé SSH ED25519, voici comment vous pouvez la gérer :
# Démarrer l'agent SSH
eval "$(ssh-agent -s)"
# Ajouter votre clé SSH ED25519
ssh-add ~/.ssh/id_ed25519
Si vous utilisez d'autres types de clés SSH (par exemple, RSA), voici comment vous pouvez les gérer :
# Démarrer l'agent SSH
eval "$(ssh-agent -s)"
# Ajouter votre clé SSH RSA
ssh-add ~/.ssh/id_rsa
Cela permet à Ansible de se connecter aux machines cibles de manière sécurisée.
Pour créer un nouveau rôle Ansible à l'aide du script create_role.sh
:
chmod +x create_role.sh
./create_role.sh <nom_du_role>
Le script create_role.sh
génère une structure de rôle standard conforme aux bonnes pratiques d'Ansible.
En suivant ces instructions, votre projet Ansible sera prêt à automatiser efficacement la mise en place de services sur vos infrastructures.