Menu

This is documentation for the next version of Loki. For the latest stable release, go to the latest version.

Open source

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:

  1. Add Grafana’s chart repository to Helm:

    bash
    helm repo add grafana https://grafana.github.io/helm-charts
  2. Update the chart repository:

    bash
    helm repo update
  3. Configure the object storage:

    • Create the configuration file values.yaml. The example below illustrates a s3 configuration:

      yaml
      loki:
        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:

      yaml
      minio:
        enabled: true
  4. 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

Next Steps

Configure an agent to send log data to Loki.