Align memory limits with memory requests for guaranteed QoS class. - prometheus, thanos (query, storegateway, compactor) - alertmanager, tempo, goldilocks (dashboard, controller) - node-exporter, opentelemetry-collector, vpa, kube-state-metrics
122 lines
2.4 KiB
YAML
122 lines
2.4 KiB
YAML
# Loki Helm Values
|
|
# Chart: https://grafana.github.io/helm-charts
|
|
# Single binary deployment with S3 (MinIO) storage
|
|
|
|
loki:
|
|
# Use S3 storage (MinIO)
|
|
storage:
|
|
type: s3
|
|
s3:
|
|
endpoint: http://minio.minio.svc.cluster.local:9000
|
|
region: us-east-1
|
|
bucketNames:
|
|
chunks: loki
|
|
ruler: loki
|
|
admin: loki
|
|
s3ForcePathStyle: true
|
|
insecure: true
|
|
bucketNames:
|
|
chunks: loki
|
|
ruler: loki
|
|
admin: loki
|
|
|
|
# Single binary mode with 1 replica
|
|
commonConfig:
|
|
replication_factor: 1
|
|
|
|
# Schema config
|
|
schemaConfig:
|
|
configs:
|
|
- from: "2024-01-01"
|
|
store: tsdb
|
|
object_store: s3
|
|
schema: v13
|
|
index:
|
|
prefix: index_
|
|
period: 24h
|
|
|
|
# Limits
|
|
limits_config:
|
|
retention_period: 168h # 7 days
|
|
ingestion_rate_mb: 10
|
|
ingestion_burst_size_mb: 20
|
|
max_streams_per_user: 10000
|
|
|
|
# Auth disabled for simplicity
|
|
auth_enabled: false
|
|
|
|
# Use single binary deployment (simpler)
|
|
deploymentMode: SingleBinary
|
|
|
|
singleBinary:
|
|
replicas: 1
|
|
persistence:
|
|
enabled: false
|
|
# Run on master node for stability (consistent with Thanos/Tempo)
|
|
tolerations:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
nodeSelector:
|
|
node-role.kubernetes.io/control-plane: "true"
|
|
extraEnvFrom:
|
|
- secretRef:
|
|
name: minio-s3-credentials
|
|
extraVolumes:
|
|
- name: loki-data
|
|
emptyDir: {}
|
|
extraVolumeMounts:
|
|
- name: loki-data
|
|
mountPath: /var/loki
|
|
resources:
|
|
requests:
|
|
cpu: 23m
|
|
memory: 462Mi
|
|
limits:
|
|
memory: 462Mi
|
|
|
|
# Disable components not needed in single binary mode
|
|
backend:
|
|
replicas: 0
|
|
read:
|
|
replicas: 0
|
|
write:
|
|
replicas: 0
|
|
|
|
# Gateway disabled (direct access)
|
|
gateway:
|
|
enabled: false
|
|
|
|
# Disable all caching (use simple mode)
|
|
chunksCache:
|
|
enabled: false
|
|
resultsCache:
|
|
enabled: false
|
|
|
|
# Loki Canary - top level config
|
|
lokiCanary:
|
|
enabled: true
|
|
tolerations:
|
|
- key: "node-role.kubernetes.io/control-plane"
|
|
operator: "Exists"
|
|
effect: "NoSchedule"
|
|
|
|
# Monitoring
|
|
monitoring:
|
|
selfMonitoring:
|
|
enabled: false
|
|
grafanaAgent:
|
|
installOperator: false
|
|
serviceMonitor:
|
|
enabled: true
|
|
interval: 60s
|
|
labels:
|
|
release: prometheus
|
|
relabelings:
|
|
- targetLabel: cluster
|
|
replacement: "mayne-cluster"
|
|
|
|
# Test disabled
|
|
test:
|
|
enabled: false
|