- 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)
118 lines
3.1 KiB
YAML
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
|