Avant, shutdown -h now était appelé directement après stop qdrant/postgresql.
systemd démontait /srv/data pendant la séquence d'extinction sans garantie
que tous les buffers aient été flushés.
Séquence ajoutée avant shutdown :
1. stop nfs-server (était oublié dans le script)
2. sync — flush tous les buffers disque
3. umount /srv/data — démontage explicite du RAID5
Si umount échoue, lsof affiche le processus bloquant avant d'abandonner.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Après funk-stop --k8s, les nœuds reviennent Ready mais SchedulingDisabled
(cordon stocké dans etcd). Sans uncordon, tous les pods restent Pending.
Ajouts dans funk-start --k8s :
- kubectl uncordon sur les nœuds SchedulingDisabled uniquement (idempotent)
- Attente ArgoCD Running (jusqu'à 3 min) — confirme que le GitOps est opérationnel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remplace le talosctl shutdown immédiat par une séquence en 6 étapes :
1. kubectl cordon tous les nœuds (empêche rescheduling)
2. kubectl drain compute-02/03 (SIGTERM pods, 30s grace, PVCs NFS libérés)
3. kubectl drain compute-01 (ArgoCD, system pods)
4. Vérification NFS : ss confirme plus de sessions :2049 actives
5. talosctl shutdown (halt propre, plus rien ne tourne)
6. Attente extinction ping
Prometheus et Grafana ont 30s pour flusher WAL/SQLite avant terminaison.
storage-01 (NFS server) est éteint en dernier une fois la vérification passée.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>