# Getting started

This tutorial will guide you on how to get started with eBPF automatic application instrumentation with OBI.

## Prerequisites

Before deploying the OpenTelemetry eBPF instrumentation agent, ensure you have:

- Kubernetes 1.24 or above
- Helm 3.9 or above
- Linux kernel 5.8+ with BTF enabled (or RHEL 4.18 build 348+)
- eBPF enabled on the host
- Privileged container capabilities (or specific Linux capabilities for unprivileged deployment)

Verify your setup:

```bash
helm version
kubectl version --short
```

## Using the Coralogix Helm Chart

The recommended way to deploy the OpenTelemetry eBPF instrumentation agent is through the official Coralogix Helm chart.

## New installation

To install the Coralogix eBPF agent deployment:

1. Add the Coralogix Helm repository:

   ```bash
   helm repo add coralogix https://cgx.jfrog.io/artifactory/coralogix-charts-virtual
   helm repo update
   ```

1. Create the required secret.

   Ensure a Kubernetes secret named `coralogix-keys` exists and includes your Coralogix Private API Key. If it doesn't, use the command below to create it:

   ```bash
   kubectl create secret generic coralogix-keys --from-literal=PRIVATE_KEY="<Your Coralogix Private API Key>"
   ```

1. Deploy the Coralogix Helm Chart with OTel eBPF:

   ```bash
   helm upgrade --install otel-coralogix-integration coralogix/otel-integration \
   --render-subchart-notes \
   --set global.domain=<YOUR_DOMAIN> \
   --set global.clusterName="<YOUR_CLUSTER>" \
   --set opentelemetry-ebpf-instrumentation.enabled=true
   ```

1. Verify the deployment:

   ```bash
   # Check if pods are running
   kubectl get pods
   ```

## Updating an existing installation

To update your existing Coralogix eBPF agent deployment:

1. Update the Helm repository:

   ```bash
   helm repo update coralogix
   ```

1. Check the current release:

   ```bash
   helm list
   ```

1. Update the configuration.

   Modify your `values.yaml` file with `opentelemetry-ebpf-instrumentation.enabled=true`.

1. Upgrade the release:

   ```bash
   helm upgrade --install otel-coralogix-integration coralogix/otel-integration \
   --render-subchart-notes \
   -f values.yaml
   ```

1. Monitor the upgrade:

   ```bash
   # Verify new pods are running
   kubectl get pods
   ```

## What's next? Unlock full trace capabilities

While eBPF provides excellent observability with minimal setup, adding full instrumentation to your services using [OpenTelemetry](https://coralogix.com/docs/opentelemetry/getting-started/index.md) unlocks advanced capabilities like, transactions, and detailed span exploration.

Instrumenting key services allows for richer insights, improved debugging, and enhanced contextualization, such as span-log correlation and stack trace visibility.

Start by identifying critical services to instrument and gradually transition for maximum observability. For guidance, consult our [documentation](https://coralogix.com/docs/opentelemetry/getting-started/index.md) or reach out to Support.
