Kubernetes Metrics in Edge Delta

Prepare your Kubernetes cluster to ingest metrics using the Edge Delta agent.

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:

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:

  1. To ingest Kube State Metrics, KSM must be deployed in the same cluster as the Edge Delta agent.
  2. To ingest node-exporter metrics, node-exporter must also be deployed in the same cluster.
  3. All metric source nodes and processing nodes that produce metrics (e.g., logs to metrics) must be connected to the Edge Delta Destination node.
  4. As of v1.27.0, the Kubernetes Metrics Source node scrapes kube_state_metrics only. kubelet, cadvisor, and node_exporter metrics are excluded by default, but you can remove them from the exclude list to enable collection.

eBPF Support in Kubernetes

Edge Delta’s eBPF support 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.

To enable eBPF 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 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 and CONFIG_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:

  1. Delete the Kubernetes Service Map source node.
  2. 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"

Edge Delta Kubernetes Metrics Source

Scrape Kubernetes metrics.

Edge Delta Kubernetes Service Map Source

Monitor Kubernetes pods and namespaces.