Aller au contenu principal

Vue de plusieurs Logs Kubernetes avec Stern

· 2 minutes de lecture
Stéphane ROBERT
Consultant DevOps

A l’image de multitail qui permet d’afficher un ou plusieurs fichiers, stern va vous permettre de concaténer les logs de plusieurs containers en un seul flux.

Découverte de Stern

  • Pour permettre de déboguer rapidement stern va afficher les logs dans un code couleur.
  • Stern va prendre en argument un simple paramètre qui peut-être un mot-clé commun de vos pods. Par exemple si vous avez les pods suivants :
drone-drone-server-6569df48f8-s4vf5       1/1     Running   1          8d
nfs-client-provisioner-865d85667d-zpw2z   1/1     Running   1          8d
gogs-88d668695-696s7                      1/1     Running   1          8d
local-docker-registry-7fdbcc5648-6j6sv    1/1     Running   1          8d
blog-deployment-766bf75767-v9654          1/1     Running   0          11h
blog-deployment-766bf75767-x9p7w          1/1     Running   0          11h
blog-deployment-766bf75767-6rsqd          1/1     Running   0          11h

Et bien en tapant la commande suivante :

stern blog

Vous obtiendrez les logs de tous les pods contenant le mot blog. De même si un pod vient à mourir et à être remplacé par un nouveau, stern ajoute automatiquement ce nouveau flux de logs.

Options importantes

OptionDescription
--exclude-container <nom>Permet d’exclude des containers d’un pod contenant des sidecars
--container-state <status>Permet de filter en fonction de l’état du pod : running, waiting or terminated. Par défaut running.
--since <temps>N’affiche que les dernières logs depuis le temps indiqué : 52, 2m, or 3h.
--exclude <chaine>Permet d’excludre certaines lignes. Vous pouvez en ajouter plusieurs.
--namespace <nom>Change de namespace
--kubeconfig <fichier-config>Le fichier de config à prendre en compte
--all-namespacesAffiche les logs de tous les namespaces
--tail nN’affiche que les n lignes
--color <status>Force le jeu de couleur ou pas. auto, always, never
--output <type>Format de sortie : default, raw, json

Installation de stern

wget https://github.com/wercker/stern/releases/download/1.11.0/stern_linux_amd64 -o stern
sudo install stern /usr/local/bin

Plus d'infos sur le repo de stern