Ansible
Last updated
Was this helpful?
Last updated
Was this helpful?
Ici nous essayerons de configurer des vms à l'aide d'ansible. On suppose que les vms ont été créées avec une authentification SSH par clé ( comme fait )
D'autres playbook et role ansible dispo sur mon
Pour automatiser la configuration des VMs fraîchement créées (IP : 10.10.10.50 à 10.10.10.52), il est recommandé d’utiliser une clé SSH privée et le gestionnaire d’agents SSH pour éviter de ressaisir la passphrase à chaque connexion :
Le fichier ~/.ssh/id_rsa
correspond à la clé privée ajoutée à l’agent SSH local. Elle est associée à la clé publique injectée automatiquement dans les VMs via le code Terraform. Cette paire de clés permet à des outils comme Ansible d’établir une connexion SSH sans mot de passe avec les VMs.
Dans le cas où vous ne passez pas par Terraform, assurez-vous simplement que la clé publique est bien présente sur la VM (dans ~/.ssh/authorized_keys
) et que vous disposez de la clé privée correspondante pour l’authentification SSH.
Cela permet à Ansible d’utiliser la clé privée pour se connecter aux VMs sans intervention manuelle.
Mon arborescence /etc/ansible/
est organisée ainsi :
ansible.cfg : Fichier de configuration principale d’Ansible.
inventory.ini : Liste des hôtes (ici, les VMs Proxmox) et leurs IPs.
playbook/ : Dossiers contenant les playbooks à exécuter.
roles/ : Dossiers de rôles Ansible pour modulariser les tâches (installation de paquets, modification DNS, etc.).
vault1.yml : Variables ou secrets chiffrés avec Ansible Vault.
Dans inventory.ini
:
Pour initialiser un nouveau rôle :
Cela crée la structure standard du rôle (tasks, handlers, vars, templates, etc.)
Exemple
Dans /etc/ansible/playbook/config-vm-linux.yml
:
Ce playbook applique le rôle install-package
à toutes les VMs listées dans le groupe kvm_nodes
.
Pour créer un fichier chiffré contenant vos secrets :
Cette commande ouvre votre éditeur de texte (défini par la variable d’environnement EDITOR
).
Saisissez vos variables sensibles, puis enregistrez et fermez : le fichier sera chiffré.
Pour modifier un fichier Vault existant :
Le fichier est déchiffré temporairement dans l’éditeur, puis rechiffré à la fermeture.
Pour chiffrer un fichier déjà existant (non chiffré) :
Pour déchiffrer définitivement un fichier Vault (le rendre lisible en clair) :
Assurez vous d’être dans un shell où votre clé privée est chargée avec ssh-agent
, puis lancez :
Ansible utilisera la clé privée via l’agent SSH pour se connecter aux VMs et exécuter les rôles définis
Ansible détecte automatiquement les fichiers Vault lors de l’exécution d’un playbook. Pour fournir le mot de passe Vault :
Saisie interactive :
Le fichier sera remplacé par sa version chiffrée.
Le fichier sera remplacé par sa version déchiffrée, non protégée.