eBPF 核心技术与实战
倪朋飞
资深 Linux 专家,Kubernetes 项目维护者
10452 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 26 讲/共 37 讲
eBPF 核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册

大咖助场|李程远:谈谈eBPF在云原生中的纵与横

你好,我是李程远。很高兴受邀来到这门课做一期分享。如果你之前学过极客时间上的另一个专栏《容器实战高手课》,应该会对我比较熟悉。
今天想跟你聊的,是一些我自己关于用 eBPF 进行系统黑盒诊断的思考,特别是在云原生平台上的应用。从 2014 年进入到 Linux 内核以来,eBPF 一直是 Linux 内核中最火的领域。作为 eBPF 的三大应用领域之一,在 Linux 内核的追踪 / 调试中,特别是在云平台来定位一些复杂问题时,eBPF 已经处于不可替代的地位了。
在《容器实战高手课》的一篇加餐里,我也简单介绍过 eBPF 这个技术。当时我给了同学们一个例子,通过它看了如何用 eBPF 来定位我们生产环境中的数据包网络延时偶尔增大的原因。最近,我又碰到一个生产环境中的网络问题,仍然还是依靠 eBPF 程序的帮助,定位到了原因。今天,我就先跟你分享下这个问题的具体情况,以及用 eBPF 定位原因的过程。然后,我会从这个例子出发,聊聊 eBPF 程序可以怎样更好地在云原生平台上应用。

一个例子:用 eBPF 解决生产环境中的网络问题

关于遇到的这个问题,先来说一下我看到的现象。
把线上的问题简化之后,我看到 Client 向一个 Server Pod 里的服务上传数据的时候,偶尔连接会发生中断。通过对 Server Pod 所在的宿主机节点上 tcpdump 数据包的抓取,我们会看到,从 Server Pod 向 Client 发送了一个 TCP RST(reset) 数据包之后,上传数据的连接就中断了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了在云原生平台上使用eBPF程序的技术挑战和解决方案。作者首先描述了在生产环境中使用eBPF解决网络问题的实例,并详细介绍了通过eBPF诊断程序定位问题的过程。在纵向深入方面,文章强调了对内核的深入理解对于编写eBPF程序的重要性,举例说明了在编写eBPF代码的过程中需要运用到Linux内核的基本实现原理。此外,文章还提到了在云原生平台上,对内核函数的追踪往往需要了解函数调用所在的namespace,以便确定是哪个容器触发的操作。在横向应用方面,文章探讨了在云平台上建立一个运行eBPF诊断程序的框架,以解决权限和多节点操作的问题。总的来说,本文深入浅出地介绍了eBPF技术在云原生环境中的应用,并提供了实际案例和思考,对于对eBPF技术感兴趣的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《eBPF 核心技术与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • 莫名
    一纵一横,直击要点。 李老师是 eBPF 实战派高手,深谙底层技术原理,《容器实战高手课》加餐篇可见一斑。曾受益匪浅,再次表达感谢与钦佩。
    2022-03-07
    12
  • lyonger
    老师之前出的专栏学习完了,功力深厚啊。另外关于老师提到的纵,深表认同,一直想掌握,但是不知如何下手。
    2022-08-31归属地:广东
    1
  • DBA_Roland
    请问老师:“纵”的学习,有没有好的学习资料或课程?
    2022-04-19
    1
  • JianXu
    根本枝叶论
    2022-09-17归属地:上海
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部