Many cloud native projects started using eBPF to provide OS and application observability, networking and security. Kubernetes deployments run on many different kernel versions and currently there is a big challenge on portability, as the eBPF programs depend heavily on the kernel version. BPF
CO-RE (Compile Once – Run Everywhere) is a mechanism to solve this issue. It requires the kernel to expose information about its types by using
BTF (BPF Type Format), which is not always available.
BTFHub aims to solve that by providing BTF files for released kernels that don't support BTF. However, it’s not possible to ship the BTF information for many different kernels with the application because of size limitations.
BTFGen generates very small BTF files that can be shipped with the application, making it easier to run eBPF programs in different kernel versions. Mauricio will introduce the challenges of creating portable eBPF cloud native ready applications and how BTFGen helps to solve those challenges. The talk covers BTFGen implementation, in bpftool, and discusses our experience in integrating it to the open-source eBPF powered projects Inspektor Gadget and Tracee.
Click here to view captioning/translation in the MeetingPlay platform!