FEAT(loki,tempo): use MinIO with emptyDir for WAL

- Loki: disable PVC, use emptyDir for /var/loki
- Tempo: switch backend from local to s3 (MinIO)
- Tempo: disable PVC, use emptyDir for /var/tempo
- Both services no longer use boot volume (/dev/sda1)
- WAL data is temporary, persistent data stored in MinIO
This commit is contained in:
2026-01-09 18:23:20 +09:00
parent 2e6b4cecbf
commit 8ac76d17f3
2 changed files with 39 additions and 12 deletions

View File

@@ -46,10 +46,15 @@ deploymentMode: SingleBinary
singleBinary: singleBinary:
replicas: 1 replicas: 1
# Disable PVC - use emptyDir for WAL (data stored in MinIO)
persistence: persistence:
enabled: true enabled: false
storageClass: local-path extraVolumes:
size: 10Gi - name: data
emptyDir: {}
extraVolumeMounts:
- name: data
mountPath: /var/loki
# Run on master node for stability # Run on master node for stability
tolerations: tolerations:
- key: node-role.kubernetes.io/control-plane - key: node-role.kubernetes.io/control-plane

View File

@@ -3,7 +3,7 @@
# #
# Architecture: # Architecture:
# - Single binary (monolithic) mode for small clusters # - Single binary (monolithic) mode for small clusters
# - Local filesystem for trace storage # - S3 (MinIO) 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
@@ -41,12 +41,15 @@ tempo:
# Retention settings # Retention settings
retention: 72h # Keep traces for 3 days retention: 72h # Keep traces for 3 days
# Backend storage (local filesystem) # Backend storage (S3/MinIO)
storage: storage:
trace: trace:
backend: local backend: s3
local: s3:
path: /var/tempo/traces bucket: tempo
endpoint: minio.minio.svc.cluster.local:9000
insecure: true
forcepathstyle: true
wal: wal:
path: /var/tempo/wal path: /var/tempo/wal
@@ -61,12 +64,31 @@ tempo:
remoteWriteUrl: http://prometheus-kube-prometheus-prometheus.prometheus.svc:9090/api/v1/write remoteWriteUrl: http://prometheus-kube-prometheus-prometheus.prometheus.svc:9090/api/v1/write
# ============================================================================= # =============================================================================
# Persistence (local-path PVC) # Persistence - Disabled (use emptyDir for WAL, data in MinIO)
# ============================================================================= # =============================================================================
persistence: persistence:
enabled: true enabled: false
storageClassName: local-path
size: 5Gi # emptyDir for WAL
extraVolumes:
- name: tempo-data
emptyDir: {}
extraVolumeMounts:
- name: tempo-data
mountPath: /var/tempo
# 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
# ============================================================================= # =============================================================================
# Service # Service