Lo que vas a aprender en este TP
- Instalar el Operator
- Declarar Collector e Instrumentation
- Instrumentar mediante anotación
Introducción #
Lo que vas a aprender en esta sección
- Instalar el Operator
- Declarar Collector e Instrumentation
- Instrumentar mediante anotación
Contexto. El equipo de plataforma quiere que todas las aplicaciones del clúster produzcan trazas sin que cada equipo modifique sus imágenes. Validas el enfoque con el Operator.
Requisitos previos: Docker, kubectl y kind · Duración estimada: 50 min
Una aplicación instrumentada sin modificar la imagen, cuyos spans llegan a un Collector gestionado por el Operator.Puesta en práctica #
Pasos guiados, con su corrección.
1. Preparar el clúster
¿Por qué? El Operator usa webhooks de admisión cuyos certificados gestiona cert-manager.
Crea un clúster kind, instala cert-manager y después el Operator, y espera a que estén disponibles.2. Declarar un Collector
¿Por qué? El Collector se describe como un recurso de Kubernetes: el Operator crea el Deployment, el Service y el ConfigMap.
Crea un namespacedemoy un recursoOpenTelemetryCollectoren modo deployment con un receiver OTLP,k8sattributesy el exportadordebug.3. Declarar la instrumentación
¿Por qué? El recurso Instrumentation centraliza exportador, propagadores y muestreo para todo un namespace.
Crea un recursoInstrumentationque envíe en OTLP/HTTP al Collector, con los propagadores tracecontext y baggage y un muestreo del 100 %.4. Instrumentar una aplicación mediante anotación
¿Por qué? La anotación basta: el Operator inyecta el agente Python al arrancar el pod, sin modificar la imagen.
Despliega una pequeña aplicación Flask en una imagen Python estándar con la anotacióninstrumentation.opentelemetry.io/inject-pythony observa el init container y las variablesOTEL_*inyectados.5. Comprobar los spans
¿Por qué? El exportador debug muestra los spans recibidos con los atributos de Kubernetes añadidos por k8sattributes.
Genera algunas peticiones con un port-forward y busca en los logs del Collector el spanGET /,service.nameyk8s.pod.name.6. Evolucionar y limpiar
¿Por qué? Modificar el recurso Instrumentation solo afecta a los pods recreados: hay que reiniciar los despliegues.
Pasa el muestreo al 10 %, reinicia el despliegue, comprueba el nuevo valor deOTEL_TRACES_SAMPLER_ARGy elimina el clúster.
Nivel de dificultad : ●●●○○ (3/5)
Mi seguimiento
Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión
Artículos recomendados
OpenTelemetry sur Kubernetes : Operator, auto-instrumentation et Collector
Déployer OpenTelemetry sur Kubernetes : modes de déploiement du Collector (DaemonSet, Deployment,...
Grafana Alloy: Perfilado Continuo con Pyroscope
Descubra cómo configurar el perfilado continuo (Continuous Profiling) en sus entornos utilizando ...