Docs » Install and configure Splunk Distribution of OpenTelemetry Collector » Install the Splunk OpenTelemetry Collector » Install on Kubernetes

Install on Kubernetes 🔗

Install the Splunk OpenTelemetry Collector on Kubernetes using one of these methods:

Helm chart 🔗

The Splunk OpenTelemetry Collector for Kubernetes is a Helm chart for the Splunk OpenTelemetry Collector. This chart creates a Kubernetes DaemonSet along with other Kubernetes objects in a Kubernetes cluster and provides a unified way to receive, process, and export metric, trace, and log data for Splunk Observability Cloud.

Supported Kubernetes distributions 🔗

This Helm chart is tested and works with default configurations on the following Kubernetes distributions:

  • Vanilla (unmodified version) Kubernetes

  • Amazon Elastic Kubernetes Service

  • Azure Kubernetes Service

  • Google Kubernetes Engine

  • Minikube

  • Red Hat OpenShift

While this Helm chart should work for other Kubernetes distributions, it may require additional configurations applied to the values.yaml configuration file.

How to use the Helm chart 🔗

You need the following resources to use the Helm chart:

Run the following commands to deploy the Helm chart. Replace the parameters with their appropriate values.

helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
helm install my-splunk-otel-collector --set="splunkRealm=us0,splunkAccessToken=xxxxxx,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collector

If the chart is deployed successfully, the output displays a message stating that the Splunk OpenTelemetry Collector is being deployed in your Kubernetes cluster. You also see the last deployed date and status in the output.

You can also set Helm values as arguments using a YAML file. For example, after creating a YAML file named my_values.yaml, run the following command to deploy the Helm chart:

helm install my-splunk-otel-collector --values my_values.yaml splunk-otel-collector-chart/splunk-otel-collector

See examples of Helm chart configuration for additional chart installation examples or upgrade commands to change the default behavior.

Resource YAML manifests 🔗

Note

At a minimum, the configuration requires knowing your Splunk Realm and base64 encoded Splunk Access Token.

A manifest specifies the desired state of an object that Kubernetes maintains when you apply the configuration file. Each configuration file can contain multiple resource manifests. Do the following to deploy the Splunk OpenTelemetry Collector using resource manifests:

  1. Determine which mode you want to use, Agent mode or Gateway mode. By default, Agent mode is configured to send data directly to Splunk SaaS endpoints. Agent mode can be reconfigured to send to a gateway.

  2. Download the necessary manifest files for desired Agent or Gateway modes from the rendered manifests repository.

  3. Update the secret.yaml manifest with your base64 encoded Splunk Access Token as the splunk_observability_access_token data field value.

  4. Update the applicable Agent, Gateway, and cluster receiver ConfigMap files to point to your Splunk Realm.

  5. Apply the manifests using kubectl, as shown in the following examples.

For Agent mode, download the agent-only manifest directory on GitHub for pre-rendered Kubernetes resource manifests that can be applied using the kubectl apply command after being updated with your token and realm information:

kubectl apply -f <agent-manifest-directory> --recursive

For Gateway mode, download the gateway-only manifest directory on GitHub for pre-rendered Kubernetes resource manifests that can be applied using the kubectl apply command after being updated with your token and realm information:

kubectl apply -f <gateway-manifest-directory> --recursive

Splunk OpenTelemetry Collector for Kubernetes Operator (Alpha) 🔗

Warning

This project is Alpha. Do not use in production.

The Splunk OpenTelemetry Collector for Kubernetes Operator is an implementation of a Kubernetes Operator. This operator helps deploy and manage Splunk OpenTelemetry Collector for Kubernetes. See the README file in GitHub for installation instructions.

Splunk kubectl plugin 🔗

The Splunk kubectl plugin collects Kubernetes resources into a zip file. The plugin contains the following resources:

  • kubectl-splunk, which is a wrapper around kubectl for managing the Splunk OpenTelemetry Collector.

  • kubectl-splunk describe, which is a command that describes any Kubernetes resource (for example, pods, daemonsets, configmaps) that is automatically filtered by app=splunk-otel-collector.

  • kubectl-splunk get, which is a command that can be used to retrieve any Kubernetes resource (for example, pods, daemonsets, configmaps) that is automatically filtered by app=splunk-otel-collector.

  • kubectl-splunk status, which is a longer description that spans multiple lines and likely contains examples and usage of using your command.

More options 🔗

Once you have installed the Splunk OpenTelemetry Collector, you can perform these actions: