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
- Helm 3 or above. See Installing Helm.
- A running Kubernetes cluster.
Add Grafana’s chart repository to Helm:
helm repo add grafana https://grafana.github.io/helm-charts
Update the chart repository:
helm repo update
Create the configuration file
values.yaml
. You can find a fully annotated samplevalues.yaml
file on GitHub.To enable GEL, set
enterprise.enabled
totrue
in thevalues.yaml
file:enterprise: enabled: true cluster_name: <cluster name> # -- Use GEL gateway, if false will use the default nginx gateway gelGateway: true
Note
The value forcluster_name
must match the cluster name in your GEL license.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
Configure the object storage in the
loki.storage
section of thevalues.yaml
file. The following example illustrates the configuration for Amazon Simple Storage (s3) configuration. The samplevalues.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.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
Make additional configurations under the
enterprise
section as needed to match your business needs and deployment.Install or upgrade the Loki deployment.
To install:
helm install --values values.yaml loki grafana/loki
To upgrade:
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
- Add the following section to the Helm chart values file:
enterprise:
enabled: true
cluster_name: <cluster name>
license:
contents: <content of license.jwt>
useExternalLicense: false
Store the license in a Kubernetes secret
Run the following command to load your GEL license file (
license.jwt
) as a Kubernetes secret.kubectl create secret generic ge-logs-license --from-file license.jwt
Verify you have successfully created the secret by running the following command:
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.Add the following section to the Helm chart values file:
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.