PERF(tempo): switch from MinIO to local filesystem storage

- Change storage backend from S3 to local filesystem (emptyDir)
- Remove MinIO/S3 configuration and credentials
- Reduce retention from 3 days to 1 day for local storage
- Increase emptyDir size from 2Gi to 5Gi
- Remove anti-affinity (single replica only)
This commit is contained in:
2026-01-10 15:58:34 +09:00
parent eea6420544
commit 7d5780cb97

View File

@@ -3,27 +3,16 @@
# #
# Architecture: # Architecture:
# - Single binary (monolithic) mode for small clusters # - Single binary (monolithic) mode for small clusters
# - S3 (MinIO) for trace storage # - Local filesystem (emptyDir) for trace storage
# - OTLP receiver for OpenTelemetry data # - OTLP receiver for OpenTelemetry data
# - Integrates with Grafana for trace visualization # - Integrates with Grafana for trace visualization
# Medium priority for observability # Medium priority for observability
priorityClassName: medium-priority priorityClassName: medium-priority
# Single replica (HA disabled to reduce MinIO load) # Single replica
replicas: 1 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) # Resource Limits (optimized for small cluster)
# ============================================================================= # =============================================================================
@@ -48,17 +37,14 @@ tempo:
endpoint: 0.0.0.0:4318 endpoint: 0.0.0.0:4318
# Retention settings # Retention settings
retention: 72h # Keep traces for 3 days retention: 24h # Keep traces for 1 day (reduced for local storage)
# Backend storage (S3/MinIO) # Backend storage (local filesystem)
storage: storage:
trace: trace:
backend: s3 backend: local
s3: local:
bucket: tempo path: /var/tempo/traces
endpoint: minio.minio.svc.cluster.local:9000
insecure: true
forcepathstyle: true
wal: wal:
path: /var/tempo/wal path: /var/tempo/wal
@@ -72,35 +58,22 @@ tempo:
enabled: true enabled: true
remoteWriteUrl: http://prometheus-kube-prometheus-prometheus.prometheus.svc:9090/api/v1/write remoteWriteUrl: http://prometheus-kube-prometheus-prometheus.prometheus.svc:9090/api/v1/write
# MinIO S3 credentials # Additional volume mounts
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: extraVolumeMounts:
- name: tempo-data - name: tempo-data
mountPath: /var/tempo mountPath: /var/tempo
# ============================================================================= # =============================================================================
# Persistence - Disabled (use emptyDir for WAL, data in MinIO) # Persistence - Disabled (use emptyDir)
# ============================================================================= # =============================================================================
persistence: persistence:
enabled: false enabled: false
# emptyDir volume for WAL # emptyDir volume for all data
extraVolumes: extraVolumes:
- name: tempo-data - name: tempo-data
emptyDir: emptyDir:
sizeLimit: 2Gi sizeLimit: 5Gi
# ============================================================================= # =============================================================================
# Service # Service