Skip to content

Loki configuration reference

This page records the non-default choices in loki-release.yaml. The values suit this k3s cluster, not the production manifest they came from.

The release manifest lives at kubernetes/apps/production/grafana-stack/loki-release.yaml.

Ingestion and retention limits

  • ingestion_rate_mb is capped at 5MB, and ingestion_burst_size_mb is capped at 10MB. Per-stream limits prevent one application from consuming all ingestion capacity.
  • reject_old_samples_max_age: 336h rejects logs older than 14 days. Log lines are limited to 256KB.
  • Ingesters save the Write-Ahead Log (WAL) at /var/loki/wal on a PVC.
  • replay_memory_ceiling is 150MB, and heartbeat_timeout is 10 minutes.
  • terminationGracePeriodSeconds is 300 so chunks can flush during rollout.
  • The release uses the OnDelete update strategy. The rollout operator remains disabled.
  • Retention is enabled with retention_enabled: true. Deletions use the s3 store with delete_request_store: s3.

Resources and storage

  • Minio, chunksCache, resultsCache, Bloom components, SingleBinary, and Ruler are disabled with sizes set to 0. This avoids high RAM use for small, single-tenant queries.
  • Query-processing and concurrency limits are lower for homelab volumes and standard nodes. max_query_parallelism is 8, and querier max_concurrent is 2.
  • Autoscaling stays below the production maximums and scales on CPU and memory thresholds. Most containers have a memory limit of 512Mi or less. Ingester limits are 1Gi.
  • The release keeps S3 object storage and reads credentials through the loki-values Secret.

Environment-specific changes

  • The release removes GKE IAM annotations, zone-aware routing, and topology constraints. zoneAwareReplication: false is set for k3s.
  • clusterLabelOverride removes cross-cluster labels and keeps metrics scoped to one cluster.

docs/services/loki.md