本书的主要内容有:了解为什么eBPF近年来变得如此重要,以及它如何成为构建强大基础设施的关键技术。学习大量的eBPF代码示例,从Hello World,到安全事件检测和操作网络数据包等。学习如何编写eBPF程序并将它们附加到不同事件上,实现内核的灵活扩展。理解eBPF验证器如何确保程序安全运行,及如何使eBPF程序能够在不同内核版本之间实现可移植性。了解eBPF组件如何与Linux内核进行交互,动态改变操作系统的行为。
Liz Rice是Netlify的CTO,曾是Docker的维护者以及Runc、Go和BCC工具及其他开源项目的贡献者。他构建和促进了Docker插件生态系统,因Docker项目的工作而闻名。David非常喜欢使用火焰图和进行性能优化。
●前言
第1章 eBPF是什么,为什么它很重要
1.1 eBPF起源:伯克利包过滤器
1.2 从BPF到eBPF
1.3 eBPF在生产系统中的演变
1.4 命名的挑战
1.5 Linux内核
1.6 为内核添加新功能
1.7 内核模块
1.8 动态加载eBPF程序
1.9 高性能的eBPF程序
1.10 云原生环境中的eBPF
1.11 总结
第2章 eBPF的HelloWorld
2.1 BCC的HelloWorld
2.2 运行HelloWorld
2.3 BPF map
2.3.1 hash类型的map
……