Kubernetes Metrics in Edge Delta
Prepare your Kubernetes cluster to ingest metrics using the Edge Delta agent, including eBPF support for enhanced observability.
3 minute read
Overview
You can use the Kubernetes Kubernetes Service Map source node and the Kubernetes Metrics source node in a pipeline to ingest Kubernetes metrics, including metrics via eBPF. All Kubernetes metric families are scraped by default. These metrics can be processed and sent to destinations that support metric data.
These source nodes also enable a number of features within Edge Delta, including but not limited to:
- The Kubernetes Dashboard, which requires KSM and Node Exporter installed in the same cluster as your pipeline. A Kubernetes Metrics source node must be connected to the Edge Delta Destination node.
- The types of metrics available in the Metrics Explorer depend on the Source nodes configured for metric ingestion.
- The Kubernetes Traffic node is required to enable the Service Map and must be connected to the Edge Delta Destination node.
For a complete list of Kubernetes metrics ingested by the Edge Delta agent, see the metrics list.
Prepare the Cluster
To ingest Kubernetes metrics, you need to prepare your cluster:
- To ingest Kube State Metrics, KSM must be deployed in the same cluster as the Edge Delta agent.
- To ingest node-exporter metrics, node-exporter must also be deployed in the same cluster.
- All metric source nodes and processing nodes that produce metrics (e.g., logs to metrics) must be connected to the Edge Delta Destination node.
- As of v1.27.0, the Kubernetes Metrics Source node scrapes
kube_state_metrics
only.kubelet
,cadvisor
, andnode_exporter
metrics are excluded by default, but you can remove them from theexclude
list to enable collection.
eBPF Support in Kubernetes
Edge Delta’s eBPF support for traces is currently limited to Kubernetes environments. Although eBPF is a Linux kernel feature, Edge Delta’s implementation relies on Kubernetes metadata for context enrichment—such as pod name, namespace, and labels. Without this metadata (as in bare-metal or Docker-only environments), eBPF traces offer limited observability value. Edge Delta can ingest host-level metrics on Linux VMs using eBPF:
To enable eBPF for traces in Kubernetes, ensure the following:
- Deploy the appropriate source nodes such as the Kubernetes Trace Source or Kubernetes Traffic Input Node.
- Set
tracerProps.enabled=true
when deploying the Edge Delta agent using Helm. - Ensure the Kubernetes environment provides the necessary kernel-level privileges. In OpenShift, for example, this requires the correct Security Context Constraints (SCC).
eBPF support for traces is not available for standalone Linux or Docker environments.
To support the collection of Kubernetes metrics using eBPF, your environment must meet the following requirements:
- Linux kernel version 5.8 or later
- Kernel must be built with
CONFIG_DEBUG_INFO_BTF=y
andCONFIG_DEBUG_INFO_BTF_MODULES=y
To verify kernel support:
docker run -it --rm --privileged --pid=host ubuntu nsenter -t 1 -m -u -n -i sh -c 'cat /proc/config.gz | gunzip | grep CONFIG_DEBUG_INFO_BTF'
You should see both flags listed as y
.
For local testing on Minikube, ensure Docker is version 26.0.0 or later (Docker Desktop v4.29.0) and start Minikube with:
minikube start --driver docker
Disable eBPF (Optional)
If you want to disable eBPF:
- Delete the Kubernetes Service Map source node.
- Disable the tracer during agent deployment:
Using Helm
helm upgrade ... --set tracerProps.enabled=false
Using Kubectl
The kubectl installation method is deprecated. Use Helm instead.
If still using a manifest, update and re-apply with:
ED_ENABLE_TRAFFIC_TRACER = "0"