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.shThen run the following commands to compile the project. Make sure to change values in Makefile.in and configure.ac to your needs
bash start.shTo stop the program, run the following command
# To stop running the XDP program
make cleanAfter 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/bashIf 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