- 课程目录
- 课程介绍
-
开篇词 | 想要洞悉系统底层的黑盒?先掌握eBPF
如何利用 eBPF 去洞悉内核的运行状态,解决实际生产环境中的问题?关键点就三个!
-
01|技术概览:eBPF的发展历程及工作原理
eBPF 的发展历程是什么样的?它又是如何在确保安全的前提下,允许非内核开发者去扩展内核的功能的呢?今天,我就带你一起来看看这些问题。
-
02 | 先利其器:如何高效学习eBPF?
作为 Linux 内核的一部分,eBPF 这么底层的技术,到底该如何学习才能更高效地掌握它?
-
03 | 初窥门径:开发并运行你的第一个eBPF程序
今天,我会和你一起搭建 eBPF 的开发环境,并带你上手开发第一个 eBPF 程序。
-
04 | 运行原理:eBPF是一个新的虚拟机吗?
今天,我带你一起深入看看 eBPF 虚拟机的原理,以及 eBPF 程序是如何执行的。
-
05 | 编程接口:eBPF程序是怎么跟内核进行交互的?
eBPF 程序到底是如何跟内核事件进行绑定的?又该如何跟内核中的其他模块进行交互呢?今天,我就带你一起看看 eBPF 程序的编程接口。
-
06 | 事件触发:各类eBPF程序的触发机制及其应用场景
eBPF 程序都有哪些类型,而不同类型的 eBPF 程序又有哪些独特的应用场景呢?今天,我就带你一起来看看。
-
07 | 内核跟踪(上):如何查询内核中的跟踪点?
今天我们来看看,怎样使用 eBPF 去跟踪内核的状态,特别是最简单的 bpftrace 的使用方法。
-
08|内核跟踪(下):开发内核跟踪程序的进阶方法
今天我带你看看,如何使用 BCC 和 libbpf 这两个进阶方法来开发内核跟踪程序。
-
09 | 用户态跟踪:如何使用eBPF排查应用程序?
如何使用 eBPF 去跟踪用户进程的执行状态?
-
10 | 网络跟踪:如何使用eBPF排查网络问题?
今天我带你具体看看,我们该如何利用 eBPF 来排查网络相关的问题。
-
11 | 容器安全:如何使用eBPF增强容器安全?
今天,我带你一起来看看如何使用 eBPF 来监控容器的安全问题,以及阻止容器中的恶意行为。
-
12|高性能网络实战(上):如何开发一个负载均衡器?
今天,我以最常用的负载均衡器为例,带你一起来看看如何借助 eBPF 来优化网络的性能。
-
13|高性能网络实战(下):如何完善负载均衡器?
今天我以 XDP 程序为例,带你继续用 eBPF 优化和完善负载均衡器的性能。
-
阶段总结|实用eBPF工具及最新开源项目总结
今天,我会基于现阶段的 eBPF 最新技术发展,为你汇总最实用的 eBPF 工具以及最新的开源项目状态。
-
未来可期|邀你与eBPF共赴一场技术革新之约
接下来的四年,我会带着你持续跟进 eBPF 技术的最新进展、发展趋势。
-
大咖助场|李程远:谈谈eBPF在云原生中的纵与横
如何让 eBPF 程序在云原生平台上更好地被使用呢?要从两个维度来考虑,一个是纵向的,另一个是横向的。
-
用户故事|eBPF从入门到放弃?在实践中找到突破口
感谢倪朋飞老师,这次总算是入门了
-
难点解析|eBPF开发环境搭建及内核编译详解
带你重新梳理 eBPF 开发环境的搭建方法,以及内核的配置和编译方法。
-
难点解析|eBPF多内核版本兼容详解
如何让 eBPF 程序兼容新旧版本的内核
-
年度总结|eBPF的2022之旅
过去一年,不仅 Linux 内核极大地丰富了 eBPF 的功能特性,eBPF 的生态和实践也取得了突飞猛进的发展。
-
案例解析|云原生网络Cilium详解
想要把握 eBPF 最前沿的技术发展和实践应用,了解和学习 Cilium 自然是必不可少的一步。
-
学习路径|借助ChatGPT学习和实践eBPF
如何利用ChatGPT学习以eBPF为代表的新技术并解决碰到的各种疑惑。
课程介绍
「交流群入口」 你将获得 从原理到实战的系统剖析; 10+ 真实生产环境的应用案例; 10 年 Linux 老兵的 eBPF 学习心法; 持续 4 年的最新技术追踪。 讲师介绍 课程介绍 作为一项革命性的技术,eBPF...「交流群入口」
你将获得
- 从原理到实战的系统剖析;
- 10+ 真实生产环境的应用案例;
- 10 年 Linux 老兵的 eBPF 学习心法;
- 持续 4 年的最新技术追踪。
讲师介绍
课程介绍
作为一项革命性的技术,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 技术的快速更新,共同探索技术发展的更多可能。
课程目录


