Deployment
You can use the guided onboarding or deploy all components manually
Deploy components using the guided onboarding
The guided onboarding simplifies deploying your Kubernetes components by setting up an API Key and the needed Integrations in the background. Follow these steps to use the guided onboarding:
- In Kibana, navigate to Observability → Add data.
- Select Kubernetes, then choose Kubernetes monitoring with EDOT Collector.
- Follow the on-screen instructions to install the OpenTelemetry Operator using the Helm chart and the provided
values.yaml
.
Notes on installing the OpenTelemetry Operator:
- Make sure the
elastic_endpoint
shown in the installation command is valid for your environment. If not, replace it with the correct Elasticsearch endpoint. - The
elastic_api_key
shown in the installation command corresponds to an API key created by Kibana when the onboarding process is initiated.
The default installation deploys an OpenTelemetry Operator with a self-signed TLS certificate. To automatically generate and renew certificates, refer to cert-manager integrated installation for instructions on customizing the
values.yaml
file before running thehelm install
command.
Manual deployment of all components
Elastic Stack preparations
Before installing the operator follow these actions:
-
Create an API Key, and make note of its value. (TBD: details of API key permissions).
-
Install the following integrations in Kibana:
System
Kubernetes
Kubernetes OpenTelemetry Assets
Notes:
- When using the Kibana onboarding UX, the previous actions are automatically handled by Kibana.
Operator Installation
-
Create the
opentelemetry-operator-system
Kubernetes namespace:$ kubectl create namespace opentelemetry-operator-system
-
Create a secret in the created namespace with the following command:
kubectl create -n opentelemetry-operator-system secret generic elastic-secret-otel \ --from-literal=elastic_endpoint='YOUR_ELASTICSEARCH_ENDPOINT' \ --from-literal=elastic_api_key='YOUR_ELASTICSEARCH_API_KEY'
Don’t forget to replace
YOUR_ELASTICSEARCH_ENDPOINT
: Elasticsearch endpoint (withhttps://
prefix). For example:https://1234567.us-west2.gcp.elastic-cloud.com:443
.YOUR_ELASTICSEARCH_API_KEY
: Elasticsearch API Key created in the previous step.
-
If you need to customize the configuration, make a copy of the
values.yaml
file and adapt it to your needs. Refer to the compatibility matrix for a complete list of available manifests in therelease branches
. -
Run the following commands to deploy the
opentelemetry-kube-stack
Helm chart, using the appropriate values file:helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm repo update helm upgrade --install --namespace opentelemetry-operator-system opentelemetry-kube-stack open-telemetry/opentelemetry-kube-stack \ --values 'https://raw.githubusercontent.com/elastic/elastic-agent/refs/tags/v8.17.3/deploy/helm/edot-collector/kube-stack/values.yaml' \ --version 0.3.3
Installation verification
Regardless of the installation method followed, perform the following checks to verify that everything is running properly:
- Check Pods Status
- Ensure the following components are running without errors:
- Operator Pod
- DaemonSet Collector Pod
- Deployment Collector Pod
- Ensure the following components are running without errors:
- Validate Instrumentation Object
- Confirm that the Instrumentation object is deployed and configured with a valid endpoint.
- Kibana Dashboard Check
- Verify that the [OTEL][Metrics Kubernetes] Cluster Overview dashboard in Kibana is displaying data correctly.
- Log Data Availability in Kibana
- In Kibana Discover, confirm the availability of data under the
__logs-*__
data view.
- In Kibana Discover, confirm the availability of data under the
- Metrics Data Availability in Kibana
- In Kibana Discover, ensure data is available under the
__metrics-*__
data view.
- In Kibana Discover, ensure data is available under the