Menu
Enterprise

Deploy GEL on Kubernetes with Helm

The Helm charts for Grafana Enterprise Logs lets you configure, install, and upgrade Grafana Enterprise Logs within a Kubernetes cluster.

To install Grafana Enterprise Logs on Kubernetes, you use the same Helm Chart as Loki, with additional configuration to specify a GEL installation.

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.

  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 the object storage in the loki.storage section of the values.yaml file. The following example illustrates the configuration for Amazon Simple Storage (s3) configuration. The sample values.yaml file also contains configurations for Google Cloud storage (gcs) and Azure Blog 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 Loki deployment.

    • To install:

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

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

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.