Integration with bpfman
BPFD is a system daemon for managing BPF programs. Using BPFD for Blixt would allow us to more easily and declaratively manage our eBPF programs (using Kubernetes CRDs) and has several other benefits such as helping us avoid conflicts with other eBPF programs already running on the system.
The purpose of this task is to replace our current Aya based eBPF program loader with BPFD using the BPFD Operator.
### Tasks
- [ ] Deploy bpfman in the integration test cluster to make it available to those tests
- [ ] Add an `EbpfProgram` sample that can deploy our TC programs to the cluster with bpfman
- [ ] Replace the loader method of deploying our program using the `EbpfProgram` instead in our integration tests
- [ ] Ensure we have documentation for both the bpfman, and non-bpfman deployment methods
At this point it looks like we should wait for BPFD to release v0.2.0:
https://github.com/bpfd-dev/bpfd/issues/393
As this is meant to be an important milestone which will add a little bit more stability. As soon as that's done, I think we should open this right up and get started.
At this point it looks like we should wait for BPFD to release v0.2.0:
It looks like BPFD 0.2 has been released 🎉 Does it mean we can unblock this one, correct?
Yep! I want to try and start spec-ing helping this one move forward this week!!!
Ok So I've started this in https://github.com/astoycos/blixt/tree/bpfd-integration
Otherwise we're blocked on having BTF support in AYA for rust programs.
From @astoycos in #152:
Bpfd recently changed it's name to bpfman which has broken our platform integration tests in order to fix them we'll need to pin to a version of bpfman AFTER the name change and fix a few other things. For now the tests are temporarily disabled.
The Kubernetes project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closed
You can:
- Mark this issue as fresh with
/remove-lifecycle stale - Close this issue with
/close - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
/remove-lifecycle stale
Actively working on this :)
Putting this back into triage as further discussion will be needed.
/triage needs-information