Files
observability/tempo/helm-values.yaml
Mayne0213 5089e8607d CHORE(resources): set memory limits equal to memory requests
Align memory limits with memory requests for guaranteed QoS class.
- prometheus, thanos (query, storegateway, compactor)
- alertmanager, tempo, goldilocks (dashboard, controller)
- node-exporter, opentelemetry-collector, vpa, kube-state-metrics
2026-01-09 21:42:35 +09:00

104 lines
2.8 KiB
YAML

# Tempo Helm Values
# Chart: https://github.com/grafana/helm-charts/tree/main/charts/tempo
#
# Architecture:
# - Single binary (monolithic) mode for small clusters
# - MinIO S3 for trace storage
# - OTLP receiver for OpenTelemetry data
# - Integrates with Grafana for trace visualization
# Run on master node for stability
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
nodeSelector:
node-role.kubernetes.io/control-plane: "true"
# =============================================================================
# Resource Limits (optimized for small cluster)
# =============================================================================
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 128Mi
# =============================================================================
# Tempo Configuration
# =============================================================================
tempo:
# Receivers - protocols Tempo accepts
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
# Retention settings
retention: 72h # Keep traces for 3 days
# Backend storage (MinIO S3)
# Uses environment variable expansion
storage:
trace:
backend: s3
s3:
bucket: tempo
endpoint: minio.minio.svc.cluster.local:9000
access_key: ${S3_ACCESS_KEY}
secret_key: ${S3_SECRET_KEY}
insecure: true
# Query settings
querier:
frontend_worker:
frontend_address: ""
# Metrics generator for trace-derived metrics
metricsGenerator:
enabled: true
remoteWriteUrl: http://prometheus-kube-prometheus-prometheus.prometheus.svc:9090/api/v1/write
# Enable environment variable expansion in config
extraArgs:
config.expand-env: "true"
# Environment variables from secret for S3 credentials
extraEnv:
- name: S3_ACCESS_KEY
valueFrom:
secretKeyRef:
name: tempo-s3-secret
key: S3_ACCESS_KEY
- name: S3_SECRET_KEY
valueFrom:
secretKeyRef:
name: tempo-s3-secret
key: S3_SECRET_KEY
# =============================================================================
# Persistence (local cache)
# =============================================================================
persistence:
enabled: true
storageClassName: local-path
size: 2Gi
# =============================================================================
# Service
# =============================================================================
service:
type: ClusterIP
# =============================================================================
# ServiceMonitor for Prometheus
# =============================================================================
serviceMonitor:
enabled: true
additionalLabels:
release: prometheus