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

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 Logic account, you can Start a free trial.

The following are required to set up and deploy the Sumo Logic 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 Kubernetes view in Sumo Logic. If you do not see data in Sumo Logic, you can review our troubleshooting guide.

A Kubernetes Cluster Overview dashboard in Sumo Logic showing CPU utilization (12.27%), memory utilization (45.19%), disk space usage (21.06%), dropped network traffic (0%), total CPUs (4), total memory (74,964.75 MB), errors by namespace (2,443 in 'sumologic'), and pod status in various namespaces with green for running pods and red for issues.

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 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:

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

Copyright Β© 2024 by Sumo Logic, Inc.