AWS Distro for OpenTelemetry (ADOT)
If you have not already done so, make sure your cluster meets the package prerequisites. Be sure to refer to the troubleshooting guide in the event of a problem.
Important
- Starting at
eksctl anywhereversionv0.12.0, packages on workload clusters are remotely managed by the management cluster. - While following this guide to install packages on a workload cluster, please make sure the
kubeconfigis pointing to the management cluster that was used to create the workload cluster. The only exception is thekubectl create namespacecommand below, which should be run withkubeconfigpointing to the workload cluster.
Install
-
Generate the package configuration
eksctl anywhere generate package adot --cluster <cluster-name> > adot.yaml -
Add the desired configuration to
adot.yamlPlease see complete configuration options for all configuration options and their default values.
Example package file with
daemonSetmode and default configuration:apiVersion: packages.eks.amazonaws.com/v1alpha1 kind: Package metadata: name: my-adot namespace: eksa-packages-<cluster-name> spec: packageName: adot targetNamespace: observability config: | mode: daemonsetExample package file with
deploymentmode and customized collector components to scrap ADOT collector’s own metrics:apiVersion: packages.eks.amazonaws.com/v1alpha1 kind: Package metadata: name: my-adot namespace: eksa-packages-<cluster-name> spec: packageName: adot targetNamespace: observability config: | mode: deployment replicaCount: 2 config: receivers: prometheus: config: scrape_configs: - job_name: opentelemetry-collector scrape_interval: 10s static_configs: - targets: - ${MY_POD_IP}:8888 processors: batch: {} memory_limiter: null exporters: logging: loglevel: debug prometheusremotewrite: endpoint: "<prometheus-remote-write-end-point>" extensions: health_check: {} memory_ballast: {} service: pipelines: metrics: receivers: [prometheus] processors: [batch] exporters: [logging, prometheusremotewrite] telemetry: metrics: address: 0.0.0.0:8888 -
Create the namespace (If overriding
targetNamespace, changeobservabilityto the value oftargetNamespace)kubectl create namespace observability -
Install adot
eksctl anywhere create packages -f adot.yaml -
Validate the installation
eksctl anywhere get packages --cluster <cluster-name>Example command output
NAME PACKAGE AGE STATE CURRENTVERSION TARGETVERSION DETAIL my-adot adot 19h installed 0.25.0-c26690f90d38811dbb0e3dad5aea77d1efa52c7b 0.25.0-c26690f90d38811dbb0e3dad5aea77d1efa52c7b (latest)
Update
To update package configuration, update adot.yaml file, and run the following command:
eksctl anywhere apply package -f adot.yaml
Upgrade
ADOT will automatically be upgraded when a new bundle is activated.
Uninstall
To uninstall ADOT, simply delete the package
eksctl anywhere delete package --cluster <cluster-name> my-adot