Ce que vous allez apprendre dans ce TP
- Installer l'Operator
- Déclarer Collector et Instrumentation
- Instrumenter par annotation
Introduction #
Ce que vous allez apprendre dans cette section
- Installer l'Operator
- Déclarer Collector et Instrumentation
- Instrumenter par annotation
Contexte. L'équipe plateforme veut que toutes les applications du cluster produisent des traces sans que chaque équipe modifie ses images. Vous validez l'approche par l'Operator.
Prérequis : Docker, kubectl et kind · Durée estimée : 50 min
Une application instrumentée sans modification d'image, dont les spans arrivent dans un Collector géré par l'Operator.Mise en place #
Étapes guidées, avec leur correction.
1. Préparer le cluster
Pourquoi ? L'Operator utilise des webhooks d'admission dont les certificats sont gérés par cert-manager.
Créez un cluster kind, installez cert-manager puis l'Operator, et attendez qu'ils soient disponibles.2. Déclarer un Collector
Pourquoi ? Le Collector est décrit comme une ressource Kubernetes : l'Operator crée Deployment, Service et ConfigMap.
Créez un namespacedemoet une ressourceOpenTelemetryCollectoren mode deployment avec un receiver OTLP,k8sattributeset l'exportateurdebug.3. Déclarer l'instrumentation
Pourquoi ? La ressource Instrumentation centralise exportateur, propagateurs et échantillonnage pour tout un namespace.
Créez une ressourceInstrumentationqui envoie en OTLP/HTTP vers le Collector, avec les propagateurs tracecontext et baggage et un échantillonnage à 100 %.4. Instrumenter une application par annotation
Pourquoi ? L'annotation suffit : l'Operator injecte l'agent Python au démarrage du pod, sans modifier l'image.
Déployez une petite application Flask dans une image Python standard avec l'annotationinstrumentation.opentelemetry.io/inject-python, puis observez l'init container et les variablesOTEL_*injectés.5. Vérifier les spans
Pourquoi ? L'exportateur debug affiche les spans reçus avec les attributs Kubernetes ajoutés par k8sattributes.
Générez quelques requêtes avec un port-forward, puis cherchez dans les logs du Collector le spanGET /,service.nameetk8s.pod.name.6. Faire évoluer et nettoyer
Pourquoi ? Modifier la ressource Instrumentation n'affecte que les pods recréés : il faut redémarrer les déploiements.
Passez l'échantillonnage à 10 %, redémarrez le déploiement, vérifiez la nouvelle valeur deOTEL_TRACES_SAMPLER_ARG, puis supprimez le cluster.
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
OpenTelemetry sur Kubernetes : Operator, auto-instrumentation et Collector
Déployer OpenTelemetry sur Kubernetes : modes de déploiement du Collector (DaemonSet, Deployment,...
OpenTelemetry : Instrumentation Automatique vs Manuelle
Comprenez les différences entre l'instrumentation automatique et manuelle avec OpenTelemetry, leu...
Instrumenter sans code avec Grafana Beyla (OpenTelemetry eBPF Instrumentation)
Obtenir métriques RED et traces HTTP/gRPC de n'importe quelle application sans la modifier : Graf...
Instrumenter ses applications pour Jaeger avec OpenTelemetry
Envoyer des traces à Jaeger avec OpenTelemetry : auto-instrumentation (Java, Python, Node.js), SD...
Datadog sur Kubernetes : Operator, Cluster Agent et Autodiscovery
Superviser Kubernetes avec Datadog : Datadog Operator et ressource DatadogAgent, Cluster Agent, A...
Envoyer des traces vers Tempo : instrumentation OpenTelemetry et Alloy
Produire et acheminer des traces vers Tempo : auto-instrumentation Python/Java/Node, SDK manuel, ...
OpenInference : les conventions OpenTelemetry pour tracer les applications d'IA
Guide détaillé d'OpenInference : conventions sémantiques et instrumentations OpenTelemetry pour L...
Les concepts fondamentaux d'OpenTelemetry : signaux, ressources, contexte et maturité
Le vocabulaire indispensable d'OpenTelemetry : les quatre signaux, API et SDK, ressource et instr...
Bonnes Pratiques OpenTelemetry (OTel) : Le Guide de l'Observabilité Moderne
Maîtrisez OpenTelemetry grâce à nos conseils d'experts : implémentation du Collector, respect des...