From 0c89d262d1293ac93205813a651e00aca50bb833 Mon Sep 17 00:00:00 2001 From: alkatrazz Date: Wed, 13 May 2026 15:11:47 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20cluster.md=20=E2=80=94=20proc=C3=A9dure?= =?UTF-8?q?s=20allumage/extinction=20d=C3=A9taill=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajout des procédures pas-à-pas pour démarrer/éteindre avec et sans k8s. Note sur WOL compute nodes (BIOS non configuré → allumage manuel). Mise à jour section aliases → fonctions bash avec support --k8s. Co-Authored-By: Claude Sonnet 4.6 --- admin/cluster.md | 67 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/admin/cluster.md b/admin/cluster.md index baf8b20..e0f55b3 100644 --- a/admin/cluster.md +++ b/admin/cluster.md @@ -1,7 +1,7 @@ # Gestion du cluster Funk Script central : `/usr/local/bin/funk-cluster` sur storage-01. -Aliases locaux configurés dans `~/.bashrc` du poste perso. +Fonctions bash configurées dans `~/.bashrc` du poste perso. --- @@ -20,6 +20,52 @@ funk-stop --k8s # Idem + éteint le cluster k8s avant --- +## Procédures d'utilisation + +### Allumer le homelab (sans k8s) + +1. **Allumer storage-01 et gpu-01 manuellement** (bouton physique) +2. Attendre ~30s que storage-01 boot +3. Depuis le poste perso : + ```bash + funk-start + ``` +4. Le script démarre les services et attend que gpu-01 soit prêt (~3 min pour les modèles LLM) +5. Vérifier l'état : + ```bash + funk-status + ``` + +### Allumer le homelab complet (avec k8s) + +1. **Allumer storage-01 et gpu-01 manuellement** +2. Lancer le démarrage : + ```bash + funk-start --k8s + ``` +3. Le script envoie des paquets WOL aux compute nodes — **si WOL non configuré dans le BIOS, allumer compute-01/02/03 manuellement pendant l'attente ping** (~30s de fenêtre) +4. Le script attend automatiquement que les nœuds k8s soient `Ready` (3 min max) + +> WOL sur les compute nodes nécessite `Wake on LAN` activé dans le BIOS (Gigabyte : `Advanced → ACPI Settings`). Tant que ce n'est pas configuré, allumage manuel requis. + +### Éteindre le homelab (sans k8s) + +```bash +funk-stop +``` + +La connexion SSH se coupe à la fin (storage-01 s'éteint lui-même). C'est normal. + +### Éteindre le homelab complet (avec k8s) + +```bash +funk-stop --k8s +``` + +Ordre d'arrêt automatique : hermes-agent + litellm → talosctl shutdown compute-01/02/03 → gpu-01 → qdrant + postgresql → storage-01. + +--- + ## Ce que fait chaque commande ### `funk-status` @@ -61,22 +107,16 @@ Vérifie dans l'ordre : --- -## Aliases locaux (`~/.bashrc` poste perso) +## Fonctions bash (`~/.bashrc` poste perso) ```bash +funk-start() { ssh storage-01 "sudo /usr/local/bin/funk-cluster start $*"; } +funk-stop() { ssh storage-01 "sudo /usr/local/bin/funk-cluster stop $*"; } alias funk-status='ssh storage-01 "sudo /usr/local/bin/funk-cluster status"' -alias funk-start='ssh storage-01 "sudo /usr/local/bin/funk-cluster start"' -alias funk-stop='ssh storage-01 "sudo /usr/local/bin/funk-cluster stop"' +alias funk-pull='ssh storage-01 "sudo -u ansible git -C /srv/data/lab pull"' ``` -Pour passer `--k8s` : -```bash -ssh storage-01 "sudo /usr/local/bin/funk-cluster stop --k8s" -ssh storage-01 "sudo /usr/local/bin/funk-cluster start --k8s" -``` - -> **Note** : les aliases `funk-start`/`funk-stop` ne passent pas les arguments. -> Utiliser la commande SSH directe pour `--k8s`. +Les fonctions bash transmettent les arguments — `funk-start --k8s` et `funk-stop --k8s` fonctionnent directement. --- @@ -98,6 +138,7 @@ ssh s01 "sudo cp /tmp/funk-cluster /usr/local/bin/funk-cluster && sudo chmod +x |---|---| | Ordre d'arrêt | Hermes/LiteLLM → k8s (optionnel) → gpu-01 → Qdrant/PG → storage-01 | | Ordre de démarrage | storage-01 (toujours déjà up) → gpu-01 → k8s (optionnel) | +| WOL compute nodes | BIOS non configuré → allumer manuellement pendant l'attente ping de `funk-start --k8s` | | LiteLLM bloquant | `systemctl stop --timeout=10` + SIGKILL automatique si timeout | | talosctl path | `/home/ansible/.config/talos/config` requis explicitement (sudo change HOME) | -| `--k8s` non passé par alias | Utiliser `ssh s01 "sudo funk-cluster stop --k8s"` directement | +| SSH coupée à l'arrêt | Normal — storage-01 s'éteint lui-même en fin de `funk-stop` |