⚡ Ansible Cheat Sheet

Cette page regroupe les commandes Ansible les plus utilisées pour administrer la plateforme Homelab.


🎯 Objectif

Cette documentation sert de référence rapide lors des opérations quotidiennes.


🔐 Gestion des secrets (Ansible Vault)

Le mot de passe du coffre est automatiquement lu depuis :

/config/.vault/vault_password.txt

Chiffrer une variable

Permet d'insérer une valeur chiffrée directement dans un fichier YAML.

ansible-vault encrypt_string --stdin-name 'my_variable'

Procédure :

  1. Taper la valeur à chiffrer
  2. Appuyer sur Entrée
  3. Faire Ctrl+D deux fois
  4. Copier le bloc !vault obtenu dans le fichier YAML

Modifier un fichier Vault

ansible-vault edit infra/ansible/vars/my_secrets.yml

Chiffrer un fichier

ansible-vault encrypt mon_fichier_clair.yml

Déchiffrer un fichier

ansible-vault decrypt mon_fichier_chiffre.yml

⚠ Attention : le fichier reste en clair sur le disque après déchiffrement.


▶ Exécution des Playbooks

Préparer l'environnement

export ANSIBLE_ROLES_PATH=$(pwd)/infra/ansible/roles
export ANSIBLE_HOST_KEY_CHECKING=False

Lancer un playbook

ansible-playbook \
-i infra/ansible/inventory.yml \
infra/ansible/playbooks/MON_PLAYBOOK.yml

🐞 Options de Debug

Option Description
--check Simulation sans modification (Dry Run)
--diff Affiche les différences sur les fichiers modifiés
--limit <host> Exécute uniquement sur un hôte ou un groupe
-vvv Mode très verbeux pour le diagnostic

Exemples

ansible-playbook ... --check

ansible-playbook ... --limit "squall"

ansible-playbook ... -vvv

⚡ Commandes Ad-Hoc

Tester la connectivité

Toutes les machines

ansible all \
-i infra/ansible/inventory.yml \
-m ping

Cluster Kubernetes

ansible kubernetes_nodes \
-i infra/ansible/inventory.yml \
-m ping

Exécuter une commande

Afficher l'uptime des LXC

ansible proxmox_lxcs \
-i infra/ansible/inventory.yml \
-a "uptime"

Redémarrer un service

ansible web-server \
-i infra/ansible/inventory.yml \
-b \
-m service \
-a "name=apache2 state=restarted"

☸ Upgrade du Cluster Kubernetes

Playbook Ansible

ansible-playbook \
-i infra/ansible/inventory.yml \
infra/ansible/playbooks/upgrade-cluster.yml \
-e "target_version=1.3x.x-1.1"

Via Moon

moon run :upgrade-k8s-cluster -- \
-e "target_version=1.3x.x-1.1"

💡 Bonnes pratiques

```


Revision #1
Created 2026-06-26 09:20:46 UTC by Nico là
Updated 2026-06-26 09:21:09 UTC by Nico là