Skip to main content

Sumo Logic Kubernetes Helm Chart Installation

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 documentation for installation instructions for the Helm binary.

Add Helm Chart repository

Before installing the chart, you need to add the sumologic Helm repository:

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 account, you can create one by clicking the Free Trial button on https://www.sumologic.com/.

The following are required to set up Sumo Logic's Kubernetes collection.

To get an idea of the resources this chart will require to run on your cluster, you can reference our performance doc.

Installation steps

Required parameters

The Helm chart installation requires two parameter overrides:

  • sumologic.accessId - Sumo Access ID.
  • sumologic.accessKey - Sumo Access key.
  • 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:

sumologic:
accessId: ${SUMO_ACCESS_ID}
accessKey: ${SUMO_ACCESS_KEY}
clusterName: ${MY_CLUSTER_NAME}
note

Additional configuration is necessary for OpenShift

Install the Helm Chart

The following command will install the Sumo Logic chart with the release name my-release in the ${NAMESPACE} namespace.

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:

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.

Viewing Data In Sumo Logic

Once you have completed installation, you can install the Kubernetes App and view the dashboards or open a new Explore tab in Sumo Logic. If you do not see data in Sumo Logic, you can review our troubleshooting guide.

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.

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.

Using a custom container registry

Container images used by this Helm Chart are currently hosted on Amazon Public ECR 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.

Please refer to our instructions 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

Using FIPS compliant OpenTelemetry Collector

Refer to the FIPS compliant binaries section in the Advanced Configuration / Security Best Practices document.

Proxy

If you are installing the collection in a cluster that requires proxying outbound requests, please see the following additional properties you will need to set.

Collecting container logs

Refer to Collecting Container Logs document

Collecting metrics

Refer to Collecting Metrics.

Collecting Kubernetes events

Refer to Collecting Kubernetes Events document

Upgrading Sumo Logic Collection

To upgrade our helm chart to a newer version, you must first run update your local helm repo.

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.

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.

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.

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:

helm history my-release
helm rollback my-release <REVISION-NUMBER>

Uninstalling Sumo Logic Collection

To uninstall/delete the Helm chart:

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:

kubectl delete secret sumologic

and the associated hosted collector can be deleted in the Sumo Logic UI.

Troubleshooting Installation

See the Troubleshooting document.

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:

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

Non-helm installation

If you don't 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:

helm upgrade \
--install \
-n `${NAMESPACE}` \
--create-namespace \
-f user-values.yaml \
my-release \
sumologic/sumologic

with

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}"
Legal
Privacy Statement
Terms of Use

Copyright © 2024 by Sumo Logic, Inc.