Enterprise

Deploy GEL on Kubernetes with Helm

The Helm chart for Grafana Enterprise Logs (GEL) lets you configure, install, and upgrade GEL within a Kubernetes cluster.

To install GEL on Kubernetes, use the Loki chart with GEL-specific configuration (enterprise.enabled: true).

Note

As of March 16, 2026, the OSS Loki Helm chart is maintained in grafana-community/helm-charts. That community chart is not the supported installation path for GEL as the Community chart has removed support for GEL. Grafana Enterprise Logs users should use the chart maintained by Grafana Labs in the Loki repository.

For more information about installing Grafana Enterprise Logs on Kubernetes, refer to the Grafana Helm chart documentation.

Configure the Helm chart and install

Prerequisites

  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. Create the configuration file values.yaml. You can find a fully annotated sample values.yaml file on GitHub.

    Note

    The README for the sample values.yaml includes additional information about creating secrets and tokens.

  4. To enable GEL, set enterprise.enabled to true in the values.yaml file:

    YAML
    enterprise:
      enabled: true
      cluster_name: <cluster name>
      # -- Use GEL gateway, if false will use the default nginx gateway
      gelGateway: true

    Note

    The value for cluster_name must match the cluster name in your GEL license.

  5. Once you have obtained your license, do either of the following and update the values.yaml file as shown in the instructions in the License section.

    • Configure the license in the Helm values file
    • Store the license in a Kubernetes secret and update the values file
  6. Configure object storage in the loki.storage section of the values.yaml file. The following example illustrates configuration for Amazon Simple Storage (s3). The sample values.yaml file also contains configurations for Google Cloud Storage (gcs) and Azure Blob Storage (azure). To configure other storage providers, refer to the Helm Chart Reference.

    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
  7. Make additional configurations under the enterprise section as needed to match your business needs and deployment.

  8. Install or upgrade the GEL deployment.

    • To install:

      Bash
      helm install --values values.yaml loki grafana/loki
    • To upgrade:

      Bash
      helm upgrade --values values.yaml loki grafana/loki

Helm chart migration and upgrade notes

  • Simple Scalable Deployment (SSD) mode is being deprecated. For production GEL environments, plan for microservices mode.
  • If you are upgrading Helm chart versions in the 6.x series, review upgrade caveats (including zone-aware ingester StatefulSet serviceName changes and sidecar image registry and digest behavior) in the Loki upgrade guide and Helm 6.x upgrade guide.

Configure your GEL license

You need a license to run Grafana Enterprise Logs. Your Grafana Labs representative should have provided you with a license.jwt license file for the cluster name you provided. The following section details various ways of setting the license for the Helm chart. Choose the one most appropriate for you.

The text “found a valid license” can be found in the logs of the Grafana Enterprise Logs components if the license has been specified correctly.

Configure the license in the Helm values file

  1. Add the following section to the Helm chart values file:
YAML
enterprise:
  enabled: true
  cluster_name: <cluster name>
  license:
    contents: <content of license.jwt>
  useExternalLicense: false

Store the license in a Kubernetes secret

  1. Run the following command to load your GEL license file (license.jwt) as a Kubernetes secret.

    Bash
    kubectl create secret generic ge-logs-license --from-file license.jwt
  2. Verify you have successfully created the secret by running the following command:

    Bash
    kubectl get secret ge-logs-license -oyaml

    The preceding command prints a Kubernetes Secret object with a license.jwt field that contains a long base64-encoded value string.

  3. Add the following section to the Helm chart values file:

    YAML
    enterprise:
      enabled: true
      cluster_name: <cluster name>
      useExternalLicense: true
      externalLicenseName: ge-logs-license
      externalConfigName: <configName>

Next Steps

Configure an agent to send log data to Loki.