Customizing configuration
To customize the installation parameters, change the configuration values provided in values.yaml
file, or override them using --set parameter=value
during the installation.
To update an installed release, run a helm upgrade
with the updated values.yaml
file. Depending on the changes, some Pods may need to be restarted for the updates to take effect. Refer to upgrades for a command example.
Configurable parameters
The following table lists common parameters that might be relevant for your use case:
values.yaml parameter | Description |
---|---|
clusterName | Sets the k8s.cluster.name field in all collected data. The cluster name is automatically detected for EKS/GKE/AKS clusters, but it might be useful for other environments. When monitoring multiple Kubernetes clusters, ensure that the cluster name is properly set in all your environments.Refer to the resourcedetection processor for more details about cluster name detection. |
collectors.cluster.resources | Configures CPU and memory requests and limits applied to the Deployment EDOT Collector responsible for cluster-level metrics.This setting follows the standard Kubernetes resources syntax for specifying requests and limits. |
collectors.daemon.resources | Configures CPU and memory requests and limits applied to the DaemonSet EDOT Collector responsible for node-level metrics and application traces.This setting follows the standard Kubernetes resources syntax for specifying requests and limits. |
certManager.enabled | Defaults to false .Refer to cert-manager integrated installation for more details. |
For more information on all available parameters and their meaning, refer to:
- The provided
values.yaml
, which includes the default settings for the EDOT installation. - The official OpenTelemetry
kube-stack
Helm chart values file, with explanations of all parameters.
Cert-manager integrated installation
In Kubernetes, for the API server to communicate with the webhook component (created by the operator), the webhook requires a TLS certificate that the API server is configured to trust. The default provided configuration sets the Helm chart to auto generate the required certificate as a self-signed certificate with an expiration policy of 365 days. These certificates won’t be renewed if the Helm chart’s release is not manually updated. For production environments, we highly recommend using a certificate manager like cert-manager.
Integrating the operator with cert-manager enables automatic generation and renewal of the TLS certificate. This section assumes that cert-manager and its CRDs are already installed in your Kubernetes environment. If that’s not the case, refer to the cert-manager installation guide before continuing.
Follow any of the following options to install the opentelemetry-kube-stack
Helm chart integrated with cert-manager
:
- Add
--set opentelemetry-operator.admissionWebhooks.certManager.enabled=true --set opentelemetry-operator.admissionWebhooks.autoGenerateCert=null
to the installation command. For example:
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 \
--set opentelemetry-operator.admissionWebhooks.certManager.enabled=true --set opentelemetry-operator.admissionWebhooks.autoGenerateCert=null
-
Keep an updated copy of the
values.yaml
file by following these steps:-
Update the
values.yaml
file with the following changes:-
Enable cert-manager integration for admission webhooks.
opentelemetry-operator: admissionWebhooks: certManager: enabled: true # Change from `false` to `true`
-
Remove the generation of a self-signed certificate.
# Remove the following lines: autoGenerateCert: enabled: true recreate: true
-
-
Run the installation (or upgrade) command pointing to the updated file. For example, assuming that the updated file has been saved as
values_cert-manager.yaml
:
helm upgrade --install --namespace opentelemetry-operator-system opentelemetry-kube-stack open-telemetry/opentelemetry-kube-stack \ --values ./resources/kubernetes/operator/helm/values_cert-manager.yaml --version 0.3.3
-