Install the simple scalable Helm chart
This Helm Chart deploys Grafana Loki on Kubernetes.
This chart configures Loki to run read
, write
, and backend
targets in a scalable mode, highly available architecture designed to work with AWS S3 object storage. The chart also supports self-monitoring or meta-monitoring by deploying Grafana Agent to monitor Loki itself, by scraping its metrics and logs.
The default Helm chart deploys the following components:
- Read component (3 replicas)
- Write component (3 replicas)
- Backend component (3 replicas)
- Loki Canary (1 DaemonSet)
- Gateway (1 NGINX replica)
- Minio (optional, if
minio.enabled=true
) - Grafana Agent Operator + Grafana Agent (1 DaemonSet) - configured to monitor the Loki application.
It is not recommended to run scalable mode with filesystem
storage.
Prerequisites
- Helm 3 or above. See Installing Helm.
- A running Kubernetes cluster.
- (Optional) A Memcached deployment for better query performance. For information on configuring Memcached, refer to caching section.
To deploy Loki in simple scalable mode:
Add Grafana’s chart repository to Helm:
bashhelm repo add grafana https://grafana.github.io/helm-charts
Update the chart repository:
bashhelm repo update
Configure the object storage:
Create the configuration file
values.yaml
. The example below illustrates a s3 configuration:yamlloki: storage: bucketNames: chunks: chunks ruler: ruler admin: admin type: s3 s3: endpoint: <endpoint> region: <AWS region> secretAccessKey: <AWS secret access key> accessKeyId: <AWS access key ID> s3ForcePathStyle: false insecure: false
To configure other storage providers, refer to the Helm Chart Reference.
If you’re just trying things, you can use the following configuration, that sets MinIO as storage:
yamlminio: enabled: true
Install or upgrade the Loki deployment.
- To install:bash
helm install --values values.yaml loki grafana/loki
- To upgrade:bash
helm upgrade --values values.yaml loki grafana/loki
- To install:
Next Steps
Configure an agent to send log data to Loki.