Quickstart on Kubernetes
This quickstart guide will help you install the LevoAI eBPF Sensor on a Kubernetes cluster.
Prerequisites
- Kubernetes version >=
v1.18.0
- Helm v3 installed and working.
- The Kubernetes cluster API endpoint should be reachable from the machine you are running Helm.
kubectl
access to the cluster, withcluster-admin
permissions.- At least 4 CPUs
- At least 8 GB RAM
Copy Authorization Key
from Levo.ai
The Satellite uses an authorization key to access Levo.ai.
- Login to Levo.ai.
- Click on your user profile.
- Click on
User Settings
- Click on
Keys
on the left navigation panel - Click on
Get Satellite Authorization Key
Copy your authorization key. This key is required in subsequent steps below.
Add Helm Charts Repository
helm repo add levoai https://charts.levo.ai && helm repo update levoai
Add LevoAI Auth Key
export LEVOAI_AUTH_KEY=<'Authorization Key' copied earlier>
Install Satellite
helm upgrade --install -n levoai --create-namespace \
--set global.levoai_config_override.onprem-api.refresh-token=$LEVOAI_AUTH_KEY \
levoai-satellite levoai/levoai-satellite
info
Please refer to install satellite in kubernetes for detailed instructions.
Check satellite connectivity
Execute the following to check for connectivity health:
# Please specify the actual pod name for levoai-tagger below
kubectl -n levoai logs <levoai-tagger pod name> | grep "Ready to process; waiting for messages."
If connectivity is healthy, you will see output similar to below.
{"level": "info", "time": "2022-06-07 08:07:22,439", "line": "rabbitmq_client.py:155", "version": "fc628b50354bf94e544eef46751d44945a2c55bc", "module": "/opt/levoai/e7s/src/python/levoai_e7s/satellite/rabbitmq_client.py", "message": "Ready to process; waiting for messages."}
Install eBPF Sensor
# Replace 'levoai-haproxy' with the values you noted down from previous step if
# Sensor was installed on a different cluster than satellite.
# Use appropriate environment value for levoEnv to segregate API assets in Levo dashboard.
helm upgrade levoai-sensor levoai/levoai-ebpf-sensor \
--install \
--namespace levoai \
--create-namespace \
# --set sensor.satelliteUrl=levoai-haproxy \
--set sensor.levoEnv=<Application environment>
Check sensor health
# Please specify the actual pod name for levoai-sensor below
kubectl -n levoai logs <levoai-sensor pod name> | grep "Initial connection with Collector"
If connectivity is healthy, you should see output similar to below.
2022/06/13 21:15:40 729071 INFO [ebpf_sensor.cpp->main:120] Initial connection with Collector was successful.
Please contact support@levo.ai
if you notice health/connectivity related errors.