To set up eBPF profiling with OpsRamp on Kubernetes, you need to:

  • Verify that your cluster meets the Prerequisites.
  • Add the OpsRamp Agent helm repository.

There are two ways to enable eBPF Network Visibility:

  • Method 1: Enable During Kubernetes 2.0 Agent Installation
  • Method 2: Enable via Helm Upgrade

Method 1: Enable During Kubernetes 2.0 Agent Installation

  1. Follow the standard Kubernetes 2.0 Agent Installation Instructions.
  2. Use the Helm install command with eBPF enabled:
    helm install opsramp oci://us-docker.pkg.dev/opsramp-registry/agent-helm-charts/agent -n opsramp-agent --create-namespace --values <download-file-path-or-copied-file-path>.yaml --set ebpf.enabled=true --set ebpf.logEndpoint="int.opsramp.net:443" --set agent.config.containerEngine="<cri-o|containerd>" 
  3. Optional: Specify custom container runtime socket paths:
    --set containerSockFile.containerd=/path/custom/containerd.sock   --set containerSockFile.cri-o=/path/custom/crio.sock 

Important values to set:

ParameterDescriptionRequired/OptionalDefault Value
ebpf.enabledEnable eBPF featureOptionalfalse
ebpf.logEndpointOpsRamp eBPF log endpointMandatory if enablede.g., int.opsramp.net:443
agent.config.containerEngineContainer runtime: "cri-o" or "containerd"Mandatory if enabled-
containerSockFile.containerdSocket path for containerd runtimeOptional/var/run/containerd/containerd.sock
containerSockFile.cri-oSocket path for cri-o runtimeOptional/var/run/crio/crio.sock
ebpf.podCIDRsList of pod CIDRs treated as internal trafficOptional-

Method 2: Enable via Helm Upgrade

For clusters with an existing OpsRamp Kubernetes 2.0 Agent:

helm upgrade oci://us-docker.pkg.dev/opsramp-registry/agent-helm-charts/agent -n opsramp-agent --create-namespace --values <download-file-path-or-copied-file-path>.yaml --set ebpf.enabled=true --set ebpf.logEndpoint="int.opsramp.net:443" 

Troubleshooting

If you encounter an issue, Validate data collection and export by checking the logs of the eworker pod.