eBPF核心技术与实战

近年来,eBPF 在故障诊断、网络优化、安全控制、性能监控等领域获得大量应用,项目数量呈爆炸式增长。2021 年 8 月 12 日, Linux 基金会旗下成立了 eBPF 基金会,一个激动人心的未来正在展开。

作为一项革命性的技术,eBPF 的“魔力”在哪里?简单来说,eBPF 使我们能够在不更改内核代码的前提下,实时获取和修改操作系统的行为。这就意味着,eBPF 可以帮我们洞悉系统底层的“黑盒”,重新定义了我们思考操作系统的方式。

直到今天,eBPF 依然是内核社区最活跃的子模块之一,还处在一个快速发展的过程中。可以说,eBPF 开启的创新浪潮才刚刚开始,在未来我们会看到更多的创新案例。

因此,我们邀请了资深 Linux 专家倪朋飞,一起打磨了这门动态发布的 eBPF 课程。这门课会全方位地解决你在学习和应用 eBPF 时候的重点问题,并带你随时跟踪 eBPF 最新的发展和案例。

课程模块设计

这门课的内容并不会一次性发布完毕,而是按时间分成两大阶段:常规更新阶段 + 动态更新阶段。

在第一阶段,老师会讲解 eBPF 的基本原理、使用方法、案例分析,以及常用工具、学习资料和学习经验总结。这些基本的知识,并不会随着时间的发展过时,它们是你理解 eBPF 机制、把握 eBPF 进化方向的抓手。

这一阶段分为三个主要模块。

学习准备篇,介绍 eBPF 的发展历程、工作原理以及主要的应用场景。同时,老师也会带你梳理 eBPF 的技术脉络和学习路线,并分享他在学习 eBPF 时总结的技巧。

基础入门篇,介绍 eBPF 的基本原理、编程接口,包括如何搭建 eBPF 的开发环境,如何从零开发一个 eBPF 程序,如何用好 BCC 并在它的基础上扩展自己的 eBPF 程序,如何根据实际需要选择具体的 eBPF 程序类型,等等。对于eBPF的详细运行原理,比如eBPF如何在内核中运行,并与内核进行交互,老师也会进行深入浅出的讲解。

实战进阶篇,在了解了 eBPF 的基本使用方法后,老师会通过一些案例,带你实践 eBPF 的主要应用场景,包括使用 eBPF 跟踪内核状态、跟踪进程状态、排查网络问题、增强容器安全、进行网络性能优化。老师还会手把手地带你开发一个 eBPF 负载均衡程序。这一模块涵盖了 eBPF 的五大主要应用场景,通过10+真实生产环境中的案例,帮你把 eBPF 真正应用到你的产品之中。

总之,这门课会以案例驱动的思路,带你从基础到实践,再结合实际案例,逐层深入 eBPF 相关的系统知识。

在第二阶段,也就是这门课的第四个模块“技术雷达篇”,我们会定期向你交付 eBPF 技术的最新进展、发展趋势。在第一阶段结束后的 4 年里,一年中的每个季度,以及每年的年末,老师都会更新一篇文章,带你持续跟踪内核和开源社区的最新进展和应用案例。

eBPF 技术时时刻刻在发展变化,但是只要你紧跟这颗“雷达”,就能在第一时间获得老师为你梳理的最新信息。这样,你就不用再漫无目的地看资讯、查资料、找重点,可以把更多时间花在用好 eBPF 上。未来的4年,我们会一起见证 eBPF 技术的快速更新,共同探索技术发展的更多可能。