Stern
Overview
Stern, c'est l'outil CLI qui pense que faire "kubectl logs" sur 15 pods un par un pour debugger ton déploiement, c'est de la torture mentale. Il fait du tail multi-pods intelligent avec filtrage par patterns, labels, namespaces, et colorie chaque pod différemment pour que tu t'y retrouves. Si tu veux voir les logs de tous tes pods d'un coup pour debugger efficacement, c'est indispensable.
Stern utilise des patterns regex pour matcher les noms de pods, supporte les selectors de labels, le filtrage par containers, et suit automatiquement les nouveaux pods qui matchent (parfait pour les deployments en cours). Colorisation automatique par pod, timestamps, préfixes configurables.
Stern se distingue par sa simplicité d'usage (une commande, tous les logs), son intelligence (suit les pods qui naissent/meurent), et sa lisibilité (couleurs différentes par pod, formatting clair).
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://github.com/stern/stern |
| Repository | https://github.com/stern/stern |
| Licence | Apache 2.0 |
| Développeur | Stern maintainers |
| Langage | Go |
| Plateforme | Linux, macOS, Windows |
Cas d'usage typiques
- Debugging de déploiements avec logs multi-pods simultanés
- Monitoring en temps réel d'applications avec multiples replicas
- Troubleshooting de services avec pattern matching intelligent
- Suivi de logs lors des rolling updates avec pods qui changent
- Développement local avec hot-reload et logs streaming
- Investigation d'incidents avec historique et real-time logs
Intégrations et écosystème
- Kubeconfig : support natif des contexts et namespaces
- Labels : filtrage par label selectors Kubernetes standard
- Regex : patterns avancés pour matching précis des pods
- Output : formatage JSON, timestamps, préfixes configurables
- Containers : sélection de containers spécifiques dans pods multi-containers
- Autocompletion : support Bash, Zsh, Fish pour productivité
Avantages
- ✅ Multi-pods natif : logs de plusieurs pods simultanément, pas de kubectl loops
- ✅ Pattern matching : regex et labels pour sélection précise des pods
- ✅ Colorisation intelligente : chaque pod a sa couleur, lisibilité parfaite
- ✅ Auto-follow : suit automatiquement les nouveaux pods qui matchent
- ✅ Léger et rapide : binaire unique, pas de setup complexe
- ✅ Production ready : stable, performant, utilisé massivement en prod
Inconvénients et limitations
- ❌ CLI uniquement : pas d'interface graphique pour teams préférant GUI
- ❌ Pas de persistance : logs en temps réel uniquement, pas d'historique
- ❌ Performance limits : peut être lent avec énormément de pods/logs
- ❌ Filtering basic : pas de filtrage avancé du contenu des logs
- ❌ Dépendance kubectl : nécessite kubeconfig configuré et accès cluster
Alternatives
- kubectl logs : commande native (mais mono-pod, plus verbeux)
- K9s : interface TUI avec logs intégrés et navigation
- Lens : logs dans interface graphique avec filtrage
- kubetail : script bash similaire (moins features)
- kail : alternative avec features similaires mais moins maintenu
Ressources
- GitHub : https://github.com/stern/stern
- Installation : package managers (brew, apt, choco, go install)
- Documentation : README GitHub avec exemples d'usage