---
title: "Deploy GEL on Kubernetes with Helm | Grafana Enterprise Logs documentation"
description: "Links to the Grafana Helm charts landing page."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# 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](https://github.com/grafana-community/helm-charts). That community chart is not the supported installation path for GEL as the Community chart has [removed support for GEL](https://github.com/grafana-community/helm-charts/pull/184). 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](/docs/helm-charts/).

## Configure the Helm chart and install

**Prerequisites**

- Helm 3 or above. See [Installing Helm](https://helm.sh/docs/intro/install/).
- A running Kubernetes cluster.

<!--THE END-->

1. Add [Grafana’s chart repository](https://github.com/grafana/helm-charts) to Helm:
   
   Bash ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```bash
   helm repo add grafana https://grafana.github.io/helm-charts
   ```
2. Update the chart repository:
   
   Bash ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```bash
   helm repo update
   ```
3. Create the configuration file `values.yaml`. You can find a fully annotated sample `values.yaml` file on [GitHub](https://github.com/grafana/loki/blob/main/production/helm/loki/values.yaml).
   
   > 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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```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-your-gel-license).
   
   - 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](/docs/loki/latest/setup/install/helm/reference/).
   
   YAML ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
     
     ```bash
     helm install --values values.yaml loki grafana/loki
     ```
   - To upgrade:
     
     Bash ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
     
     ```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](/docs/loki/latest/setup/upgrade/) and [Helm 6.x upgrade guide](/docs/loki/latest/setup/upgrade/upgrade-to-6x/).

## 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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```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](/docs/enterprise-logs/latest/send-data/).
