mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 21:34:43 +02:00
Structure avant : 20 fichiers à plat dans admin/ — difficile à naviguer.
Structure après : 4 sous-répertoires thématiques + index clair.
Réorganisation :
admin/ops/ → cluster.md, ansible.md, systeme.md
admin/infra/ → reseau.md, nfs.md, dnsmasq.md, ssh.md
admin/k8s/ → talos.md, argocd.md, monitoring.md
admin/ia/ → llama_server.md, rocm.md, litellm.md, hermes.md
Suppressions :
- ask-agent.md : contenu fusionné dans ia/hermes.md (section ask-agent)
- lm_studio.md : obsolète (LM Studio remplacé par llama-server)
Mises à jour contenu :
- ia/hermes.md : fusion complète avec ask-agent.md (profils, skills,
SOUL.md, ask-agent CLI, dépannage) — doc unifiée sans redondance
- ops/cluster.md : section GitOps réduite à 2 lignes + lien argocd.md
- incidents.md : tableau de résumé en tête + 4 nouveaux incidents
(Grafana OOMKilled, AlertManager null receiver, llama-server 501,
nftables règle après drop)
- README.md : réécrit — navigation rapide + index par domaine
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
107 lines
3 KiB
Markdown
107 lines
3 KiB
Markdown
# Ansible — Commandes d'administration
|
|
|
|
Toutes les commandes se lancent depuis la racine du repo (`lab-infra/`).
|
|
Le venv est dans `.venv/`, le `Makefile` fournit les raccourcis.
|
|
|
|
---
|
|
|
|
## Raccourcis Makefile
|
|
|
|
```bash
|
|
make ping # Vérifie que toutes les machines répondent
|
|
make check # Dry-run complet (simule sans appliquer)
|
|
make apply # Applique tous les playbooks (storage-01 + gpu-01)
|
|
make apply-storage # Applique uniquement storage-01
|
|
make apply-gpu # Applique uniquement gpu-01
|
|
make install # Installe ansible-core + collections Galaxy
|
|
make vault-encrypt # Chiffre group_vars/all/vault.yml
|
|
make vault-edit # Édite le vault (déchiffre → édite → rechiffre)
|
|
make vault-view # Affiche le contenu du vault déchiffré
|
|
```
|
|
|
|
---
|
|
|
|
## Commandes Ansible directes
|
|
|
|
### Cibler un rôle spécifique
|
|
```bash
|
|
cd ansible/
|
|
# Via tag (si les rôles ont des tags)
|
|
../.venv/bin/ansible-playbook playbooks/storage-01.yml --tags dnsmasq
|
|
|
|
# Via limite d'hôte
|
|
../.venv/bin/ansible-playbook playbooks/site.yml -l gpu-01
|
|
```
|
|
|
|
### Exécuter une commande ad-hoc sur une machine
|
|
```bash
|
|
cd ansible/
|
|
../.venv/bin/ansible storage-01 -m shell -a "systemctl status dnsmasq"
|
|
../.venv/bin/ansible all -m shell -a "uptime"
|
|
../.venv/bin/ansible gpu_hosts -m shell -a "free -h"
|
|
```
|
|
|
|
### Collecter les facts d'une machine (variables système détectées)
|
|
```bash
|
|
cd ansible/
|
|
../.venv/bin/ansible storage-01 -m setup
|
|
../.venv/bin/ansible storage-01 -m setup -a "filter=ansible_interfaces"
|
|
../.venv/bin/ansible storage-01 -m setup -a "filter=ansible_default_ipv4"
|
|
```
|
|
|
|
### Vérifier l'inventaire
|
|
```bash
|
|
cd ansible/
|
|
../.venv/bin/ansible-inventory --list # JSON complet
|
|
../.venv/bin/ansible-inventory --graph # Arbre des groupes/hôtes
|
|
```
|
|
|
|
### Dry-run avec diff (voir exactement ce qui changerait)
|
|
```bash
|
|
cd ansible/
|
|
../.venv/bin/ansible-playbook playbooks/storage-01.yml --check --diff
|
|
```
|
|
|
|
### Débugger une variable
|
|
```bash
|
|
cd ansible/
|
|
../.venv/bin/ansible storage-01 -m debug -a "var=lan_interface"
|
|
../.venv/bin/ansible storage-01 -m debug -a "var=hostvars['storage-01']"
|
|
```
|
|
|
|
### Augmenter la verbosité (debug complet)
|
|
```bash
|
|
cd ansible/
|
|
../.venv/bin/ansible-playbook playbooks/storage-01.yml -v # output étendu
|
|
../.venv/bin/ansible-playbook playbooks/storage-01.yml -vvv # connexions SSH incluses
|
|
```
|
|
|
|
---
|
|
|
|
## Vault Ansible
|
|
|
|
```bash
|
|
# Chiffrer un fichier
|
|
cd ansible/
|
|
../.venv/bin/ansible-vault encrypt group_vars/all/vault.yml
|
|
|
|
# Chiffrer une valeur à la volée (copier-coller dans vault.yml)
|
|
../.venv/bin/ansible-vault encrypt_string 'mon_mot_de_passe' --name 'vault_postgres_password'
|
|
|
|
# Déchiffrer temporairement pour voir
|
|
../.venv/bin/ansible-vault view group_vars/all/vault.yml
|
|
|
|
# Changer le mot de passe vault
|
|
../.venv/bin/ansible-vault rekey group_vars/all/vault.yml
|
|
```
|
|
|
|
---
|
|
|
|
## Groupes d'hôtes disponibles
|
|
|
|
| Groupe | Machines |
|
|
|---|---|
|
|
| `all` | storage-01, gpu-01 |
|
|
| `gateway` | storage-01 |
|
|
| `gpu_hosts` | gpu-01 |
|
|
| `almalinux` | storage-01, gpu-01 |
|