Files
observability/tempo/helm-values.yaml
Mayne0213 ef7c7c2593 PERF(loki,tempo): reduce replicas to 1
- Reduce Loki singleBinary replicas from 2 to 1
- Reduce Tempo replicas from 2 to 1
- Decrease MinIO CPU load (0.5 → 0.1 cores expected)
2026-01-10 15:32:07 +09:00

118 lines
3.1 KiB
YAML

# Tempo Helm Values
# Chart: https://github.com/grafana/helm-charts/tree/main/charts/tempo
#
# Architecture:
# - Single binary (monolithic) mode for small clusters
# - S3 (MinIO) for trace storage
# - OTLP receiver for OpenTelemetry data
# - Integrates with Grafana for trace visualization
# Medium priority for observability
priorityClassName: medium-priority
# Single replica (HA disabled to reduce MinIO load)
replicas: 1
# Soft anti-affinity for HA
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: tempo
topologyKey: kubernetes.io/hostname
# =============================================================================
# Resource Limits (optimized for small cluster)
# =============================================================================
resources:
requests:
cpu: 15m
memory: 100Mi
limits:
memory: 100Mi
# =============================================================================
# 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 (S3/MinIO)
storage:
trace:
backend: s3
s3:
bucket: tempo
endpoint: minio.minio.svc.cluster.local:9000
insecure: true
forcepathstyle: true
wal:
path: /var/tempo/wal
# 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
# MinIO S3 credentials
extraEnv:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: minio-s3-credentials
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: minio-s3-credentials
key: AWS_SECRET_ACCESS_KEY
# Additional volume mounts for WAL
extraVolumeMounts:
- name: tempo-data
mountPath: /var/tempo
# =============================================================================
# Persistence - Disabled (use emptyDir for WAL, data in MinIO)
# =============================================================================
persistence:
enabled: false
# emptyDir volume for WAL
extraVolumes:
- name: tempo-data
emptyDir:
sizeLimit: 2Gi
# =============================================================================
# Service
# =============================================================================
service:
type: ClusterIP
# =============================================================================
# ServiceMonitor for Prometheus
# =============================================================================
serviceMonitor:
enabled: true
additionalLabels:
release: prometheus