Afficher les logs de plusieurs pods avec Stern
Mise à jour :
Lorsque je travaille avec Kubernetes, j’ai souvent besoin de suivre les logs de plusieurs pods en même temps. C’est là que stern devient indispensable ! Cet outil en ligne de commande me permet d’afficher en temps réel les logs de plusieurs pods correspondant à un même modèle. Plus besoin de jongler entre plusieurs commandes kubectl logs, stern fait tout le travail. Voyons comment l’utiliser efficacement.
Installation de stern
Avant de profiter de stern, il faut bien sûr l’installer. Heureusement, c’est rapide et simple, quel que soit mon système d’exploitation.
Sur Linux et macOS (via Homebrew)
Si vous utilisez Homebrew, l’installation est aussi simple que :
Tous les systèmes d’exploitation
Vous pouvez aussi l’installer directement avec Go :
Vérification de l’installation
Une fois installé, assurez-vous que stern fonctionne correctement :
Si une version s’affiche, c’est bon ! Vous êtes prêt à explorer les logs de vos pods Kubernetes.
Afficher les logs de plusieurs pods
Avec stern, vous pouvez suivre en temps réel les logs de plusieurs
pods** en une seule commande. Plus besoin de répéter kubectl logs
pour chaque
pod, stern s’occupe de tout !
Afficher les logs d’un groupe de pods
L’argument principal de stern est une expression régulière qui permet de
cibler plusieurs pods en même temps. Par exemple, pour suivre tous les pods dont
le nom commence par nginx
:
Cela affichera en temps réel les logs de tous les pods correspondant à ce motif, avec des couleurs pour différencier chaque pod.
🔹 Si vous voulez cibler précisément un objet Kubernetes (comme un
Deployment, un StatefulSet ou un Job), utilisez la syntaxe
<ressource>/<nom>
:
Filtrer les logs par namespace
Par défaut, stern affiche les logs des pods du namespace actif. Pour
spécifier un autre namespace, utilisez -n
:
Si vous souhaitez afficher les logs de tous les namespaces, utilisez -A
:
Afficher les logs de tous les containers d’un pod
Si un pod contient plusieurs containers, vous pouvez voir leurs logs avec
l’option --all-containers
:
Vous pouvez aussi filtrer par container grâce à l’option -c
:
Et pour exclure un container spécifique :
Gérer la quantité de logs affichés
Vous pouvez limiter le nombre de lignes affichées avec --tail
:
Ou encore récupérer uniquement les logs des dernières minutes :
Si vous ne voulez pas suivre les logs en continu, ajoutez --no-follow
:
Filtrer les logs avec des expressions régulières
Vous pouvez inclure ou exclure des logs spécifiques en utilisant -i
et
-e
:
Cela affichera uniquement les lignes contenant ERROR ou WARN.
À l’inverse, pour ignorer certains logs :
Personnaliser l’affichage
Par défaut, stern colore automatiquement les logs pour identifier les pods.
Vous pouvez modifier cette coloration avec --color
:
Vous pouvez aussi choisir un format de sortie spécifique avec -o
:
Si vous voulez un format personnalisé, utilisez un template :
Autres options utiles
-
Afficher les logs d’un pod spécifique qui tourne sur un nœud particulier :
-
Afficher uniquement les logs des pods en erreur :
-
Exclure des pods spécifiques :
Avec ces options, stern devient un outil puissant pour suivre et analyser vos logs Kubernetes en temps réel !
Conclusion
Avec stern, suivre et analyser les logs Kubernetes devient bien plus efficace. Grâce à sa prise en charge des expressions régulières, ses nombreux filtres, et ses options de mise en forme et de colorisation, vous pouvez afficher précisément ce qui vous intéresse, sans vous noyer dans un flot d’informations inutiles.
Que vous souhaitiez simplement surveiller un Deployment, suivre un debug
précis, ou filtrer les erreurs d’un container spécifique, stern vous
offre une lecture claire et organisée des logs, sans avoir à jongler avec
des dizaines de commandes kubectl logs
.
En optimisant l’affichage et en utilisant les bons filtres, vous gagnerez du temps et pourrez identifier rapidement les problèmes dans vos applications Kubernetes. Alors, à vous de jouer !