---
id: install-helm-chart
title: Sumo Logic Kubernetes Helm Chart Installation
sidebar_label: Installation
description: Learn how to install the Sumo Logic Kubernetes Helm Chart.
slug: /help/docs/send-data/kubernetes/install-helm-chart/
canonical: https://www.sumologic.com/help/docs/send-data/kubernetes/install-helm-chart/
---
import useBaseUrl from '@docusaurus/useBaseUrl';
This page describes how to install the Sumo Logic Kubernetes Helm Chart.
## Requirements
### Helm
The Sumo Logic Kubernetes Collection solution is packaged as a Helm Chart. See the [official Helm documentation](https://helm.sh/docs/intro/install/) for installation instructions for the Helm binary.
### Helm Chart repository
Before installing the chart, you need to add the `sumologic` Helm repository:
```bash
helm repo add sumologic https://sumologic.github.io/sumologic-kubernetes-collection
helm repo update
```
### Sumo Logic account
If you don’t already have a Sumo Logic account, you can [Start a free trial](https://www.sumologic.com/sign-up/).
The following are required to set up and deploy the Sumo Logic Kubernetes collection.
- Review our [minimum requirements](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/README.md#minimum-requirements) and [support matrix](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/README.md#support-matrix)
- An [Access ID and Access Key](/docs/manage/security/access-keys/) with the following [Data Management role capabilities](/docs/manage/users-roles/roles/role-capabilities#data-management): Manage Collectors and Manage Fields.
:::note
The Manage Monitors and Manage Content capabilities are required to install the built-in monitors and dashboards, which are recommended and enabled by default.
:::
To get an idea of the resources this chart will require to run on your cluster, you can reference our [performance doc](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/performance.md).
## Installation steps
### Required parameters
The Helm chart installation requires two parameter overrides:
- `sumologic.accessId` - Sumo [Access ID](/docs/manage/security/access-keys/).
- `sumologic.accessKey` - Sumo [Access key](/docs/manage/security/access-keys/).
- `sumologic.clusterName` - An identifier for your Kubernetes cluster. This is the name you will see for the cluster in Sumo Logic. Set a different value for each cluster you install the Helm Chart in.
### Prepare minimal configuration
Create a `user-values.yaml` file in your working directory with the following content:
```yaml title=user-values.yaml
sumologic:
accessId: ${SUMO_ACCESS_ID}
accessKey: ${SUMO_ACCESS_KEY}
clusterName: ${MY_CLUSTER_NAME}
```
:::note
Additional configuration is necessary for [OpenShift](#installing-in-openshift-platform)
:::
### Install the Helm Chart
The following command will install the Sumo Logic chart with the release name `my-release` in the `${NAMESPACE}` namespace.
```bash
helm upgrade \
--install \
-n `${NAMESPACE}` \
--create-namespace \
-f user-values.yaml \
my-release \
sumologic/sumologic
```
:::note
If the release exists, it will be upgraded, otherwise it will be installed. If the namespace doesn't exists, it will be created.
:::
You should see output similar to the following:
```text
Release "my-release" does not exist. Installing it now.
NAME: my-release
LAST DEPLOYED: Fri Oct 13 11:11:49 2023
NAMESPACE: sumologic
STATUS: deployed
REVISION: 1
NOTES:
Thank you for installing sumologic.
(...)
```
More configuration examples (i.e. OpenShift) can found seen in [this document](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/configuration-examples.md).
## Viewing Data In Sumo Logic
Once you have completed installation, you can [install the Kubernetes App and view the dashboards](/docs/integrations/containers-orchestration/kubernetes#installing-the-kubernetes-app) or [open Kubernetes view](/docs/observability/kubernetes/monitoring#open-kubernetes-views) in Sumo Logic. If you do not see data in Sumo Logic, you can review our [troubleshooting guide](/docs/send-data/kubernetes/troubleshoot-collection).
## Customizing Installation
We recommend creating a new `user-values.yaml` for each Kubernetes cluster you wish to install collection in and setting only the properties
you wish to override. Once you have customized it you should use the following commands to install or upgrade.
```bash
helm upgrade \
--install \
-n `${NAMESPACE}` \
--create-namespace \
-f user-values.yaml \
my-release \
sumologic/sumologic
```
We documented some common customizations below:
### Overriding names of resources
If you want to override the names of the resources created by the chart, see
[Overriding chart resource names with `fullnameOverride`](/docs/send-data/kubernetes/best-practices#overriding-chart-resource-names-with-fullnameoverride).
### Using a custom container registry
Container images used by this Helm Chart are currently hosted on [Amazon Public ECR][aws-public-ecr-docs] which requires authentication to
provide a higher quota for image pulls. To find a comprehensive information on this please refer to [Amazon Elastic Container Registry
pricing][aws-ecr-pricing].
Please refer to [our instructions](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/working-with-container-registries.md#authenticating-with-container-registry) on how to provide
credentials in order to authenticate with Public ECR.
An alternative would be to host Sumo Logic container images in one's container registries. To do so please refer to the following
[instructions](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/working-with-container-registries.md#hosting-sumo-logic-images)
[aws-public-ecr-docs]: https://aws.amazon.com/blogs/aws/amazon-ecr-public-a-new-public-container-registry/
[aws-ecr-pricing]: https://aws.amazon.com/ecr/pricing/
### Using FIPS compliant OpenTelemetry Collector
Refer to the [FIPS compliant binaries](security-best-practices.md#fips-compliant-binaries) section in the [Advanced Configuration / Security Best Practices](security-best-practices.md) document.
### Proxy
If you are installing the collection in a cluster that requires proxying outbound requests, please see the following
[additional properties](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/installing-behind-proxy.md) you will need to set.
### Collecting container logs
Refer to [Collecting Container Logs document](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/collecting-container-logs.md#collecting-container-logs)
### Collecting metrics
Refer to [Collecting Metrics](/docs/send-data/kubernetes/collecting-metrics/).
### Collecting Kubernetes events
Refer to [Collecting Kubernetes Events document](/docs/send-data/kubernetes/collecting-events/)
## Upgrading Sumo Logic Collection
To upgrade our helm chart to a newer version, you must first run update your local helm repo.
```bash
helm repo update
```
Next, you can run `helm upgrade --install` to upgrade to that version. The following upgrades the current version of `my-release` to the
latest.
```bash
helm upgrade --install my-release sumologic/sumologic -f `user-values.yaml`
```
If you wish to upgrade to a specific version, you can use the `--version` flag.
```bash
helm upgrade --install my-release sumologic/sumologic -f `user-values.yaml` --version=2.0.0
```
**Note:** If you no longer have your `user-values.yaml` from the first installation or do not remember the options you added via `--set` you
can run the following to see the values for the currently installed helm chart. For example, if the release is called `my-release` you can
run the following.
```bash
helm get values my-release
```
If something goes wrong, or you want to go back to the previous version, you can
[rollback changes using helm](https://helm.sh/docs/helm/helm_rollback/):
```
helm history my-release
helm rollback my-release
```
## Uninstalling Sumo Logic Collection
To uninstall/delete the Helm chart:
```bash
helm delete my-release
```
> **Helm3 Tip**: In Helm3 the default behavior is to purge history. Use --keep-history to preserve it while deleting the release.
The command removes all the Kubernetes components associated with the chart and deletes the release.
### Post uninstallation cleanup
In order to clean up the Kubernetes secret and associated hosted collector one can use the optional cleanup job by setting
`sumologic.cleanupEnabled` to `true`.
Alternatively the secret can be removed manually with:
```bash
kubectl delete secret sumologic
```
and the associated hosted collector can be deleted in the Sumo Logic UI.
## Troubleshooting Installation
See the [Troubleshooting document](/docs/send-data/kubernetes/troubleshoot-collection/installation).
## Installing in OpenShift platform
The daemonset/statefulset fails to create the pods in Openshift environment due to the request of elevated privileges, like HostPath mounts,
privileged: true, etc.
If you wish to install the chart in the Openshift Platform, it requires a SCC resource which is only created in Openshift (detected via API capabilities in the chart), you can add the following configuration to `user-values.yaml`:
```yaml title=user-values.yaml
sumologic:
scc:
create: true
otellogs:
daemonset:
containers:
otelcol:
securityContext:
privileged: true
initContainers:
changeowner:
securityContext:
privileged: true
tailing-sidecar-operator:
scc:
create: true
```
**Notice:** Prometheus Operator is deployed by default on OpenShift platform, you may either limit scope for Prometheus Operator installed
with Sumo Logic Kubernetes Collection using `kube-prometheus-stack.prometheusOperator.namespaces.additional` parameter in `user-values.yaml`
or exclude namespaces for Prometheus Operator installed with Sumo Logic Kubernetes Collection using
`kube-prometheus-stack.prometheusOperator.denyNamespaces` in `user-values.yaml`. For details, see
[Prometheus document](https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/prometheus.md#prometheus-operator-in-the-cluster)
## Non-helm installation
If you do not want to use Helm to manage the installation, please use `helm template` to generate Kubernetes templates and apply them using
Kubectl.
> **Warning:** > Before upgrade, please delete the old jobs:
- `kubectl delete job -n ${NAMESPACE} my-release-sumologic-setup`
- `kubectl delete job -n ${NAMESPACE} my-release-sumologic-ot-operator-instr` (needed only if `opentelemetry-operator.enabled=true`)
Simply replace:
```bash
helm upgrade \
--install \
-n `${NAMESPACE}` \
--create-namespace \
-f user-values.yaml \
my-release \
sumologic/sumologic
```
with
```bash
helm template \
-n "${NAMESPACE}" \
--create-namespace \
-f user-values.yaml \
my-release \
sumologic/sumologic | tee sumologic-rendered.yaml
kubectl create namespace "${NAMESPACE}"
kubectl apply -f sumologic-rendered.yaml -n "${NAMESPACE}"
```
### OpenShift
For Openshift, you need to add `--api-versions=security.openshift.io/v1` argument to `helm template`, so the final set of upgrade commands
will look like the following:
```
helm template \
--api-versions=security.openshift.io/v1` \
-n "${NAMESPACE}" \
--create-namespace \
-f user-values.yaml \
my-release \
sumologic/sumologic | tee sumologic-rendered.yaml
kubectl create namespace "${NAMESPACE}"
kubectl apply -f sumologic-rendered.yaml -n "${NAMESPACE}"
```