feat: funk-cluster start --k8s — uncordon + attente ArgoCD

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>
This commit is contained in:
alkatrazz 2026-05-13 22:22:12 +02:00
parent a631a4ab6c
commit c9fd0d2812
2 changed files with 42 additions and 4 deletions

View file

@ -62,7 +62,8 @@ La connexion SSH se coupe à la fin (storage-01 s'éteint lui-même). C'est norm
funk-stop --k8s
```
Ordre d'arrêt automatique : hermes-agent + litellm → cordon+drain compute-02/03 → drain compute-01 → vérif NFS → talosctl shutdown → gpu-01 → qdrant + postgresql → storage-01.
Ordre d'arrêt : hermes-agent + litellm → cordon+drain compute-02/03 → drain compute-01 → vérif NFS → talosctl shutdown → gpu-01 → qdrant + postgresql → storage-01.
Ordre de démarrage : storage-01 déjà up → gpu-01 (WOL) → compute-01/02/03 (WOL) → uncordon → ArgoCD up → workloads.
---
@ -83,7 +84,10 @@ Vérifie dans l'ordre :
3. Attend le montage NFS `/mnt/models` sur gpu-01
4. Attend le chargement du modèle GPU (jusqu'à 4 min)
5. Attend les modèles CPU (jusqu'à 2 min)
6. `--k8s` : envoie WOL aux 3 nœuds, attend ping, attend nœuds Ready (3 min max)
6. `--k8s` :
- Envoie WOL aux 3 nœuds, attend ping, attend nœuds Ready (3 min max)
- **Uncordon** des nœuds s'ils sont `SchedulingDisabled` (état résiduel après `funk-stop --k8s`)
- Attend qu'ArgoCD soit Running (signe que le GitOps redémarre les workloads)
### `funk-stop [--k8s]`