OpenTelemetry Operator makes it easier to set up the OpenTelemetry collector and auto-instrument workloads deployed on Kubernetes.
A Kubernetes operator is a method of packaging, deploying, and managing a Kubernetes application. OpenTelemetry Operator helps a lot in managing OpenTelemetry collectors and enables auto-instrumentation.
Prerequisite
Before installing the OpenTelemetry Operator, ensure you have:
- A running Kubernetes cluster (v1.19 or later recommended)
- Administrative kubectl access to your cluster
- SigNoz installed and running (Installation Guide)
- cert-manager installed in your cluster
Installing the OpenTelemetry Operator
Choose your preferred installation method to deploy the operator:
Deploy the operator directly using the latest release manifest:
kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yamlVerify the installation:
kubectl get deployment opentelemetry-operator-controller-manager -n opentelemetry-operator-systemAdd the OpenTelemetry Helm repository:
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo updateInstall the OpenTelemetry Operator:
helm install opentelemetry-operator open-telemetry/opentelemetry-operator \
--create-namespace \
--namespace opentelemetry-operator-systemCheck the OpenTelemetry Operator Helm Chart Documentation for advanced configuration options.
Once the opentelemetry-operator deployment is ready, you can proceed with creating OpenTelemetry Collector instances and configuring automatic instrumentation.
OpenTelemetry Collector
The OpenTelemetry Operator provides a Custom Resource Definition (CRD) for OpenTelemetry Collectors with flexible deployment options through the .Spec.Mode property. You can deploy collectors as:
The .Spec.Config property contains the OpenTelemetry Collector configuration YAML. Explore additional deployment mode examples in the official repository.
OpenTelemetry Operator provides examples for each deployment mode.