An eBPF/XDP load balancer for cloud and microservices
Here are some of the links explaining the eBPF and XDP
This project needs to be run in a linux environment as supported bpf tools are present in the linux kernel
Run the following commands to install the dependencies in your system
bash install.sh
Then run the following commands to compile the project. Make sure to change values in Makefile.in
and configure.ac
to your needs
bash start.sh
To stop the program, run the following command
# To stop running the XDP program
make clean
After compiling, run the python hello.py
with sudo
privileges to see the trace logs
NOTE: Change your network interface in Makefile
else the program may not work properly
If you have Docker installed in your system, you can workaround the project using the command
docker compose up
# SSH into the container and edit details from there
sudo docker exec -it arklb-arklb-1 /bin/bash
If you have Terraform installed in your system, you can run the following commands to create VMs in GCP/AWS and run the project in it. Make sure to change the values in terraform/gcp/main.tf
or terraform/aws/main.tf
to your needs.
cd terraform/gcp # or cd terraform/aws
terraform init
terraform apply
- bcc
- libbpf
- clang
- Terraform
- Python (for trace logs)
- Docker
GPL 3.0