From 8ac76d17f3b6c300054fb0a31d46fae95313be53 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Fri, 9 Jan 2026 18:23:20 +0900 Subject: [PATCH] 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 --- loki/helm-values.yaml | 11 ++++++++--- tempo/helm-values.yaml | 40 +++++++++++++++++++++++++++++++--------- 2 files changed, 39 insertions(+), 12 deletions(-) diff --git a/loki/helm-values.yaml b/loki/helm-values.yaml index f38246e..4e153a0 100644 --- a/loki/helm-values.yaml +++ b/loki/helm-values.yaml @@ -46,10 +46,15 @@ deploymentMode: SingleBinary singleBinary: replicas: 1 + # Disable PVC - use emptyDir for WAL (data stored in MinIO) persistence: - enabled: true - storageClass: local-path - size: 10Gi + enabled: false + extraVolumes: + - name: data + emptyDir: {} + extraVolumeMounts: + - name: data + mountPath: /var/loki # Run on master node for stability tolerations: - key: node-role.kubernetes.io/control-plane diff --git a/tempo/helm-values.yaml b/tempo/helm-values.yaml index 66852f0..3c28204 100644 --- a/tempo/helm-values.yaml +++ b/tempo/helm-values.yaml @@ -3,7 +3,7 @@ # # Architecture: # - Single binary (monolithic) mode for small clusters -# - Local filesystem for trace storage +# - S3 (MinIO) for trace storage # - OTLP receiver for OpenTelemetry data # - Integrates with Grafana for trace visualization @@ -41,12 +41,15 @@ tempo: # Retention settings retention: 72h # Keep traces for 3 days - # Backend storage (local filesystem) + # Backend storage (S3/MinIO) storage: trace: - backend: local - local: - path: /var/tempo/traces + backend: s3 + s3: + bucket: tempo + endpoint: minio.minio.svc.cluster.local:9000 + insecure: true + forcepathstyle: true wal: path: /var/tempo/wal @@ -61,12 +64,31 @@ tempo: 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: - enabled: true - storageClassName: local-path - size: 5Gi + enabled: false + +# 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