Back to posts

Tempo Distributed on Kubernetes — Helm Production Guide

Read the full guide on docs.beyondyou.my.id
observabilitytempografanahelmkubernetestracing

Tempo is Grafana’s distributed tracing backend. This guide covers a production Helm deployment with GCS storage, multi-protocol receivers (OTLP, Jaeger, Zipkin), and the metrics generator for RED metrics from traces.

A misconfigured Tempo deployment silently drops traces. Without proper storage tuning and ingestion limits, you’ll lose critical observability data during peak traffic.

Key Takeaways

  • vParquet4 block format for optimal query performance and storage efficiency
  • Metrics generator derives RED (rate, error, duration) metrics from traces automatically
  • Multi-protocol ingestion with OTLP, Jaeger, and Zipkin receivers for diverse instrumentation

What’s Covered

SectionDescription
Helm ChartProduction values.yaml for Tempo on GKE with GCS backend
StorageGCS bucket config, block retention, and compaction
ReceiversOTLP, Jaeger, Zipkin configuration with processor pipeline
Metrics GeneratorService graphs, span metrics, and Prometheus remote write
SearchTraceQL search configuration and backend caching
Grafana LinkingDatasource setup with Loki-to-Tempo trace ID injection

Receiver Protocol Comparison

ProtocolUse Case
OTLPOpenTelemetry SDK instrumentation (preferred)
JaegerLegacy Jaeger client libraries
ZipkinZipkin-instrumented services

Read the full guide: Tempo Distributed on Kubernetes — Helm Production Guide → — includes Helm values reference, GCS setup, metrics generator config, and Grafana datasource linking.