Journalisation avec kubectl logs
Accédez directement aux journaux des conteneurs depuis votre cluster Kubernetes et analysez-les à l’aide de kubectl.
Journalisation avec kubectl logs est une leçon Kubernetes Basics gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kubernetes Basics, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kubernetes Basics comprend 4 leçons au total.
Pourquoi les journaux sont importants dans Kubernetes
Dans Kubernetes, il est essentiel de comprendre ce que font vos applications. Les journaux sont comme le journal intime de votre application : ils enregistrent les événements, les erreurs et les mises à jour d'état.
Ils sont indispensables pour :
- Déboguer : identifier précisément les problèmes lorsqu'une erreur survient.
- Surveiller : suivre l'état de santé et les performances de l'application.
- Auditer : suivre les actions et les modifications au fil du temps.
Explication des journaux de conteneurs
Lorsqu'une application conteneurisée s'exécute, elle écrit généralement sa sortie dans ses flux de sortie standard (stdout) et d'erreur standard (stderr). Kubernetes collecte ces flux pour chaque conteneur.
Ces flux sont ensuite accessibles via l'API Kubernetes, ce qui vous permet de les consulter facilement sans devoir vous connecter en SSH aux nœuds ou aux conteneurs individuels.
Présentation de kubectl logs
La commande kubectl logs est votre principal outil pour accéder aux journaux des conteneurs exécutés dans vos Pods Kubernetes. Elle est simple à utiliser et propose plusieurs options puissantes.
Son utilisation la plus élémentaire consiste simplement à indiquer le nom du Pod que vous souhaitez examiner.
Créer un Pod qui génère des journaux
Pour voir kubectl logs en action, imaginons que nous ayons déployé un Pod simple qui produit continuellement des messages dans sa sortie standard. Cela simulera une véritable application générant des journaux.
Voici le YAML d'un tel Pod (vous l'appliqueriez avec kubectl apply -f) :
apiVersion: v1
kind: Pod
metadata:
name: busybox-logger
spec:
containers:
- name: busybox-container
image: busybox
command: ['sh', '-c', 'while true; do echo "$(date) - Hello from BusyBox"; sleep 5; done']
restartPolicy: AlwaysAfficher les journaux de base d’un pod
Une fois que votre pod busybox-logger est en cours d’exécution (vérifiez-le avec kubectl get pods), vous pouvez récupérer ses journaux à l’aide de la commande de base kubectl logs.
Cette commande affiche toutes les entrées de journal enregistrées jusqu’à ce moment.
kubectl logs busybox-loggerDiffuser les journaux en temps réel
Pour déboguer en direct, vous devez souvent voir les journaux au fur et à mesure qu’ils sont produits, comme avec tail -f sous Linux. L’option -f ou --follow fait exactement cela.
Elle diffuse en continu les nouvelles entrées de journal du conteneur.
kubectl logs -f busybox-loggerJournaux des conteneurs précédents
Si un conteneur de votre pod plante et redémarre, kubectl logs affiche par défaut les journaux de l’instance actuellement en cours d’exécution.
Pour afficher les journaux d’une instance précédente et arrêtée d’un conteneur, utilisez l’option --previous ou -p. Elle est extrêmement utile pour comprendre pourquoi un conteneur a pu échouer.
kubectl logs -p busybox-loggerJournaux de conteneurs spécifiques
Certains pods peuvent exécuter plusieurs conteneurs (par exemple, une application principale et un conteneur auxiliaire pour la journalisation ou la surveillance). Si votre pod contient plusieurs conteneurs, vous devez préciser les journaux du conteneur que vous souhaitez afficher à l’aide de l’option -c ou --container.
kubectl logs my-multi-container-pod -c my-sidecar-containerFiltrer et limiter la sortie des journaux
Vous n’avez parfois besoin que d’une partie précise des journaux ou seulement des entrées les plus récentes. Vous pouvez combiner kubectl logs avec les commandes Linux standard ou utiliser des options intégrées :
- Filtrer avec
grep: Transmettez la sortie àgreppour rechercher des mots-clés précis. - Limiter le nombre de lignes avec
--tail: Affichez uniquement les N dernières lignes des journaux.
kubectl logs busybox-logger | grep "Hello"
kubectl logs busybox-logger --tail=5Défi sur les commandes de journalisation
Vous disposez d’un pod nommé my-app-pod contenant deux conteneurs : frontend et backend. Le conteneur backend a récemment planté et redémarré. Vous souhaitez afficher les journaux de l’instance précédente du conteneur backend.
Résumé des journaux et du débogage
Félicitations ! Vous avez appris les notions essentielles pour accéder aux journaux des conteneurs et les analyser à l’aide de kubectl logs. Cette commande puissante est indispensable pour comprendre et dépanner vos applications exécutées dans Kubernetes.
Principales commandes à retenir :
kubectl logs <pod-name>: récupération de base des journaux.kubectl logs -f <pod-name>: diffusion des journaux en temps réel.kubectl logs -p <pod-name>: affichage des journaux d’une instance précédente d’un conteneur.kubectl logs -c <container> <pod-name>: ciblage des journaux d’un conteneur spécifique.
Questions Fréquemment Posées
La leçon « Journalisation avec kubectl logs » est-elle gratuite ?
Oui — le texte complet de « Journalisation avec kubectl logs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kubernetes Basics, passe à CoddyKit PRO. Le cours Kubernetes Basics comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Journalisation avec kubectl logs » ?
Accédez directement aux journaux des conteneurs depuis votre cluster Kubernetes et analysez-les à l’aide de kubectl. Tu pratiques Kubernetes Basics avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kubernetes Basics ?
Aucune expérience préalable n'est requise. Kubernetes Basics sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Journalisation avec kubectl logs » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kubernetes Basics ?
Oui. Chaque leçon Kubernetes Basics inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Journalisation avec kubectl logs
- Métriques avec Prometheus et Grafana
- Contrôles d’état : sondes de vivacité et de disponibilité
- Traçage distribué et événements