开发并运行第一个 eBPF 程序

如何选择 eBPF 开发环境?

虽然 Linux 内核很早就已经支持了 eBPF,但很多新特性都是在4.x 版本中逐步增加的。所以,想要稳定运行 eBPF 程序,内核至少需要 4.9 或者更新的版本。而在开发和学习 eBPF 时,为了体验和掌握最新的 eBPF 特性,我推荐使用更新的 5.x内核。

作为 eBPF 最重大的改进之一,一次编译到处执行(简称 CO-RE)解决了内核数据结构在不同版本差异导致的兼容性问题。不过,在使用 CO-RE 之前,内核需要开启
CONFIG_DEBUG_INFO_BTF=y 和 CONFIG_DEBUG_INFO=y 这两个编译选项。为了避免你在首次学习 eBPF 时就去重新编译内核,我推荐使用已经默认开启这些编译选项的发行版,作为你的开发环境,比如:
Ubuntu 20.10+

如何搭建 eBPF 开发环境?

接下来就需要安装 eBPF 开发和运行所需要的开发工具,这包括:

  1. 将 eBPF 程序编译成字节码的 LLVM;
  2. C 语言程序编译工具 make;
  3. 最流行的 eBPF 工具集 BCC 和它依赖的内核头文件;
  4. 与内核代码仓库实时同步的 libbpf;
  5. 同样是内核代码提供的 eBPF 程序管理工具 bpftool。

你可以执行下面的命令,来安装这些必要的开发工具:

如何开发第一个 eBPF 程序?

当前面这些开发工具和依赖库安装完成后,一个完整的 eBPF 开发环境就准备好了。接下
来,你肯定迫不及待地想要体验一下 eBPF 的强大功能了。

//未完待续...

你可能感兴趣的:(eBPF技术,eBPF)