Skip to content

Commit 0589619

Browse files
[8.16](backport #5822) docs: add EDOT colletor kube-stack Helm values (#6265)
* docs: add EDOT colletor kube-stack Helm values (#5822) * docs: add EDOT colletor kube-stack Helm values * chore: add changelog entry * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> * fix: values path relative path * add kube-stack Helm integration test * fix: relative values file * ci: load values file with Helm Go package * ci: remove agent's hardcoded image * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> * add kube-stack values file to Update mage target * override elastic secrets * fix: parametrize helm release name * ci: eventually check created pods * test 5min timeout * Update deploy/helm/edot-collector/kube-stack/values.yaml Co-authored-by: Edu González de la Herrán <25320357+eedugon@users.noreply.github.com> * Update deploy/helm/edot-collector/kube-stack/README.md Co-authored-by: Edu González de la Herrán <25320357+eedugon@users.noreply.github.com> * Update deploy/helm/edot-collector/kube-stack/values.yaml Co-authored-by: Edu González de la Herrán <25320357+eedugon@users.noreply.github.com> * fix: use constant for Helm values paths * Update testing/integration/otel_helm_test.go Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com> * fix: reference kube-stack Chart variables * assert all pods are running * chore: clarify pod description comment --------- Co-authored-by: Andrew Gizas <andreas.gkizas@elastic.co> Co-authored-by: Nathan L Smith <nathan.smith@elastic.co> Co-authored-by: Edu González de la Herrán <25320357+eedugon@users.noreply.github.com> Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com> (cherry picked from commit 69c2f92) # Conflicts: # magefile.go * fix: pin elastic 8.16 version --------- Co-authored-by: Roger Coll <rogercoll@protonmail.com>
1 parent 7272ca6 commit 0589619

File tree

5 files changed

+1323
-69
lines changed

5 files changed

+1323
-69
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Kind can be one of:
2+
# - breaking-change: a change to previously-documented behavior
3+
# - deprecation: functionality that is being removed in a later release
4+
# - bug-fix: fixes a problem in a previous version
5+
# - enhancement: extends functionality but does not break or fix existing behavior
6+
# - feature: new functionality
7+
# - known-issue: problems that we are aware of in a given version
8+
# - security: impacts on the security of a product or a user’s deployment.
9+
# - upgrade: important information for someone upgrading from a prior version
10+
# - other: does not fit into any of the other categories
11+
kind: other
12+
13+
# Change summary; a 80ish characters long description of the change.
14+
summary: add EDOT colletor kube-stack Helm values
15+
16+
# Long description; in case the summary is not enough to describe the change
17+
# this field accommodate a description without length limits.
18+
# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment.
19+
#description:
20+
21+
# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc.
22+
component: "elastic-agent"
23+
24+
# PR URL; optional; the PR number that added the changeset.
25+
# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added.
26+
# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number.
27+
# Please provide it if you are adding a fragment for a different PR.
28+
#pr: https://github.com/owner/repo/1234
29+
30+
# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of).
31+
# If not present is automatically filled by the tooling with the issue linked to the PR number.
32+
#issue: https://github.com/owner/repo/1234
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
## Kube-stack Helm Chart
2+
3+
**More detailed documentation can be found [here](https://github.com/elastic/opentelemetry/blob/main/docs/kubernetes/operator/README.md).**
4+
5+
The [kube-stack Helm Chart](https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-kube-stack#readme) is used to manage the installation of the OpenTelemetry operator (including its CRDs) and to configure a suite of EDOT collectors, which instrument various Kubernetes components to enable comprehensive observability and monitoring.
6+
7+
The chart is installed with a provided default [`values.yaml`](./values.yaml) file that can be customized when needed.
8+
9+
### DaemonSet collectors
10+
11+
The OpenTelemetry components deployed within the DaemonSet EDOT collectors are responsible for observing specific signals from each node. To ensure complete data collection, these components must be deployed on every node in the cluster. Failing to do so will result in partial and potentially incomplete data.
12+
13+
The DaemonSet collectors handle the following data:
14+
15+
- Host Metrics: Collects host metrics specific to each node, utilizing the [hostmetrics receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/hostmetricsreceiver/README.md)
16+
- Kubernetes Metrics: Captures metrics related to the Kubernetes infrastructure on each node, utlilizing [kubeletstats](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/kubeletstatsreceiver/README.md) receiver
17+
- Logs: Utilizes [File Log Receiver receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver#readme) to gather logs from all Pods running on the respective node.
18+
- OTLP Traces: Utilizes [OTLP Receiver]( https://github.com/open-telemetry/opentelemetry-collector/blob/main/receiver/otlpreceiver#readme) which configures both HTTP and GRPC endpoints on the node to receive OTLP trace data.
19+
20+
### Deployment collector
21+
22+
The OpenTelemetry components deployed within a Deployment collector focus on gathering data at the cluster level rather than at individual nodes. A Deployment instance of the collector operates as a standalone (unlike DaemonSet collector instances, which are deployed on every node)
23+
24+
The Deployment collector handles the following data:
25+
26+
- Kubernetes Events: Monitors and collects events occurring across the entire Kubernetes cluster, utilizing [Kubernetes Objects Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8sobjectsreceiver#readme).
27+
- Cluster Metrics: Captures metrics that provide insights into the overall health and performance of the Kubernetes cluster, utilizing [Kubernetes Cluster Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8sclusterreceiver#readme).
28+
29+
### Auto-instrumentation
30+
31+
The Helm Chart is configured to enable zero-code instrumentation using the [Operator's Instrumentation resource](https://github.com/open-telemetry/opentelemetry-operator/?tab=readme-ov-file#opentelemetry-auto-instrumentation-injection) for the following programming languages:
32+
33+
- Go
34+
- Java
35+
- Node.js
36+
- Python
37+
- .NET
38+
39+
40+
### Installation
41+
42+
1. Create the `opentelemetry-operator-system` Kubernetes namespace:
43+
```
44+
$ kubectl create namespace opentelemetry-operator-system
45+
```
46+
47+
2. Create a secret in Kubernetes with the following command.
48+
```
49+
kubectl create -n opentelemetry-operator-system secret generic elastic-secret-otel \
50+
--from-literal=elastic_endpoint='YOUR_ELASTICSEARCH_ENDPOINT' \
51+
--from-literal=elastic_api_key='YOUR_ELASTICSEARCH_API_KEY'
52+
```
53+
Don't forget to replace
54+
- `YOUR_ELASTICSEARCH_ENDPOINT`: your Elasticsearch endpoint (*with* `https://` prefix example: `https://1234567.us-west2.gcp.elastic-cloud.com:443`).
55+
- `YOUR_ELASTICSEARCH_API_KEY`: your Elasticsearch API Key
56+
57+
3. Execute the following commands to deploy the Helm Chart.
58+
59+
```
60+
$ helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
61+
$ helm repo update
62+
$ helm upgrade --install --namespace opentelemetry-operator-system opentelemetry-kube-stack open-telemetry/opentelemetry-kube-stack --values ./values.yaml --version 0.3.3
63+
64+
> [!NOTE]
65+
> Refer to the [compatibility matrix](https://github.com/elastic/opentelemetry/blob/main/docs/kubernetes/operator/README.md#compatibility-matrix) for a complete list of available manifests and associated helm chart versions.
66+
```

0 commit comments

Comments
 (0)