Edge Delta on Kubernetes
Deploy Edge Delta in Kubernetes using Helm, Terraform, or ArgoCD, with support for Amazon EKS, Azure AKS, and Google GKE.
2 minute read
Overview
The setup process for deploying Edge Delta within a Kubernetes cluster natively leverages the Kubernetes APIs and other components to provide a seamless onboarding, and automated monitoring experience.
Many of the commonly used Kubernetes Services are supported by Edge Delta:
- Amazon EKS
- Azure AKS
- Google GKE
- OpenShift Enterprise Kubernetes
- Bare Metal Kubernetes
If you are new to Kubernetes, please refer to documentation for a few tools to create your first cluster:
Kubernetes Requirements
DNS Requirement for EKS Auto Mode
If you are deploying Edge Delta on Amazon EKS using Auto Mode, make sure the CoreDNS addon is enabled in your cluster.
CoreDNS is required for service discovery by Edge Delta components (especially the Agent). If DNS is not available, the Agent may fail to start. Other components (such as Rollup or Compactor) may still start successfully, which can make this issue harder to detect.
You can enable CoreDNS by following the AWS instructions here: https://docs.aws.amazon.com/eks/latest/userguide/managing-coredns.html
Metrics Requirements
The Edge Delta pipeline uses eBPF to collect network metrics. Therefore, the following Kubernetes environment configuration is required for Kubernetes network metrics and eBPF to work:
- Linux kernel version 5.8 or later.
- Linux kernel built with the
CONFIG_DEBUG_INFO_BTF=y
andCONFIG_DEBUG_INFO_BTF_MODULES=y
flags.
To check for the flag:
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'
The output should show CONFIG_DEBUG_INFO_BTF=y
and CONFIG_DEBUG_INFO_BTF_MODULES=y
.
In the case of minikube, the agent can run on minikube with the Docker driver. Docker must be at least v26.0.0 (Docker Desktop v4.29.0) and it is started as follows:
minikube start --driver docker
Kubernetes Deployment Methods
There are a number of different ways to deploy an Edge Delta pipeline in a Kubernetes environment: using Helm, via Terraform, or you can automate deployments with a tool such as ArgoCD.
Note: The kubectl installation method is no longer supported. Please use Helm.