Module 2 · k9s - l'essentiel¶
Objectifs
- Comprendre ce qu'est k9s et pourquoi c'est un accélérateur.
- Naviguer dans n'importe quelle ressource sans la souris.
- Lire des logs, exec dans un pod, faire un port-forward - depuis k9s.
- Durée : ~30 min · Pré-requis : Module 1 (pod, deployment, service, namespace).
C'est quoi k9s ?¶
kubectl est l'outil en ligne de commande « officiel » : une commande = une requête.
k9s est une interface terminal (TUI) par-dessus le même cluster : tu vois tes ressources
en temps réel, tu navigues, et tu déclenches des actions (logs, exec, delete, scale…) avec une touche.
graph LR
A[Toi] --> B[k9s TUI]
A --> C[kubectl CLI]
B --> D[(API server<br/>Kubernetes)]
C --> D
À retenir
k9s ne remplace pas ta compréhension de Kubernetes : c'est un multiplicateur de vitesse.
Tout ce que fait k9s, kubectl peut le faire - k9s le fait juste 10× plus vite.
Le modèle mental de k9s¶
Trois idées suffisent pour tout comprendre :
- On affiche une ressource à la fois (pods, deployments, services…) via la commande
:. - On filtre la liste avec
/. - On agit sur la ligne sélectionnée avec une touche contextuelle (affichée en haut de l'écran).
La barre du haut affiche en permanence le contexte, le namespace courant, et les raccourcis disponibles sur la vue active. Lis-la : c'est ta carte.
Premiers pas (à faire dans la sandbox)¶
Ouvre la sandbox et lance k9s.
:pods ← entre dans la vue des pods (le ":" ouvre le mode commande)
:deploy ← deployments
:svc ← services
:ns ← namespaces
:nodes ← nœuds
Le : est ta télécommande
Tape : puis le nom (ou l'alias) de la ressource et Entrée.
Ctrl-a ouvre la liste de tous les alias disponibles (po, deploy, cm, secret, ing…).
Naviguer¶
| Action | Touche |
|---|---|
| Monter / descendre | ↑ ↓ ou k j |
| Entrer dans la ressource (drill-down) | Entrée |
| Revenir en arrière | Esc |
| Aide contextuelle | ? |
| Quitter k9s | : q puis Entrée, ou Ctrl+c |
Filtrer¶
Changer de namespace¶
- Tape
:nspuisEntréesur le namespace voulu, ou - Dans une vue de ressources, les touches 0-9 basculent de namespace (0 = tous les namespaces).
Les 3 actions qui changent la vie¶
Sélectionne un pod (:pods, flèches) puis :
📜 Voir les logs - l¶
l ← logs du pod
f ← plein écran
w ← retour à la ligne (wrap) on/off
0 ← depuis le début ; 1/2/3/4/5 = dernières minutes/heures
Esc ← revenir
🐚 Exec dans le conteneur - s¶
s ← ouvre un shell DANS le pod (comme "kubectl exec -it ... -- sh")
exit ← sortir du shell, retour à k9s
🔌 Port-forward - Maj+f¶
Expose un port du pod vers ta session pour le tester localement (détails et confirmation dans la fenêtre k9s).
Les autres touches contextuelles utiles¶
| Touche | Action |
|---|---|
| d | describe (les events sont en bas - toujours les lire pour debugger) |
| y | voir le YAML complet de la ressource |
| e | éditer la ressource en live (ouvre $EDITOR) |
| Ctrl+d | supprimer (avec confirmation) |
| Ctrl+k | kill (suppression immédiate, sans grâce) |
Pratique¶
Les TP de ce module, dans le terminal de ta sandbox - une fois la lecture faite :
tp start 01a-k9s-decouverte # en séance, avec ton mentor
tp start ancrage-2 # en autonomie ensuite : défi navigation, moins guidé
fais la manip puis tp check (ou tp watch pour l'auto-validation) · tp hint pour un indice · tp solution si tu bloques.
En séance, on fait d'abord le tour de k9s ensemble (en partage d'écran, on navigue sans rien créer) ; le TP te fait ensuite agir dans k9s, corrigé. En autonomie : déroule le tour, puis enchaîne le TP.
Exercice 2.1 - Le tour de k9s (on navigue ensemble)
On explore, sans rien créer - les objets sont déjà là.
- Lance
k9s::nodes, puis:ns, puis:podsen tous namespaces (0). - Filtre les pods de
kube-systemavec/. - Sur un pod,
describe(d) : trouve son adresse IP et son nœud ; ouvre ses logs (l). - Descends (Entrée) d'un
:deployjusqu'à ses pods : c'est le drill-down.
Le TP 01a-k9s-decouverte te fera ensuite agir - retrouver un pod intrus, entrer dans un pod (s), supprimer - à toi le clavier.
Exercice 2.2 - Le réflexe describe (à toi de trouver)
- Trouve le pod dans k9s : quel est son statut ?
- Fais d (describe) et lis les events en bas. Quelle est la cause exacte ?
- Supprime-le (Ctrl+d).
Ce qu'il faut retenir¶
:= changer de ressource ·/= filtrer ·Esc= revenir ·?= aide.- Le réflexe debug : sélectionner → d (describe) → lire les events.
llogs,sshell,ddescribe : 80 % de ton temps k9s sera là.
Quiz éclair¶
Teste-toi : réponds de tête, puis déplie.
1. Comment afficher une autre ressource (passer des pods aux services) ?
Avec la commande : : :pods, :svc, :deploy, :ns… Ctrl-a liste tous les alias.
2. Un pod ne démarre pas. Quel est ton premier réflexe dans k9s ?
Le sélectionner et faire d (describe), puis lire les events en bas : 90 % des
causes y sont (image, scheduling, probe…).
3. Différence entre Ctrl-d et Ctrl-k sur une ressource ?
Ctrl-d supprime avec confirmation (suppression « propre »). Ctrl-k tue
immédiatement, sans délai de grâce. En prod, on réfléchit à deux fois.
➡️ Suite : Module 3 - k8s par la pratique · cheat-sheet : k9s
Le k9s « de vitesse » viendra plus tard
Aliases, hotkeys, skins, multi-cluster, audit (popeye)… : tout le réglage fin de k9s
est regroupé dans le Module 2b - k9s approfondi, à faire après
le module 3 - une fois que tu as de vrais objets à naviguer.