shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数906
阅读:3430回复:1

golang+eBPF实战入门之运维开发篇

楼主#
更多 发布于:2023-09-04 01:39
  前面开了一坨课程:
   1、eBPF实战开发粗暴入门篇   2、eBPF实战入门之网络篇、可观测 3、eBPF实战入门之网络篇ARP


   eBPF开发系列(工具使用教程没兴趣开)我们将不断深入、不断开新课程。前面讲了一坨基础课和网络篇,还没完结。这回同步开一个运维工具篇。本课程不适合新手,前置课程在第一课有讲,大约20课时左右。
    以前我们做运维工具一般都是用golang 或python等纯用户态开发,现在借助eBPF后可以完成很多之前很难或做不到的功能。 本课程主要涉及 打桩、程序资源级可观测(如内存、CPU)、进程管理等。 和之前开的网络篇作为呼应课程,具体在第一课时有详细讲述。
    由于众所周知的原因,课程关键细节会故意留坑,VIP会员一对一口述破解
第1讲:开张课、课程内容、前置知识点 试听
老套路的开张课,讲一下课程内容和大家需要提前准备的知识点。

第2讲:获取程序内存(1) 基本代码结构、基本原理
今天先讲一个golang的专用方案。仅仅是开拓思路,下节课我们讲正式和通用的方法

第3讲:如何获取golang的协程ID(纯GO和eBPF两种方案)
这个来自一个同学的问题,今天我们用纯GO和eBPF两种方案来实现

第4讲:独立课时:eBPF对socket的监听和分析(1)
socket在之前没见到,这个部分就不单独开课程了,放到运维开发篇来讲

第5讲:eBPF监听socket(2)监听指定容器的socket
上节课其实监听了全部。这节课我们演示如何监听指定容器的socket事件

第6讲:eBPF监听socket(3)理解操作类型、获取socket请求IP和端口 试听
这课时我们来理解下socket的操作类型并获取一些socket数据

第7讲:eBPF监听socket(4) 保存socket信息到map中
为了实现后面的socket转发,我们需要把socket 信息保存到map中

第8讲:再说socket网络加速的原理和过程、sk_msg初始化
今天我们再来梳理一下网络加速的原理,并且引入sk_msg概念并进行初始化

第9讲:初步实现socket转发以实现网络加速
今天我们初步完成socket转发

第10讲:简单验证socket转发后的网络加速
上节课我们完成了socket转发以实现网络加速,今天演示下如何简单验证

第11讲:使用bpf_redirect转发加速网络(1):基本过程原理
我们花几课时来讲解下cilium的转发帮助函数,也是很有用的功能

第12讲:使用bpf转发加速网络(2): 演示课:跨节点容器转发方案的基本实现原理
今天是一个原理课。后面我们来具体实现。原型是一个面试题,做了简化


第13讲:eBPF分析http包(1) 基本解析手法
应同学要求,我们花几课时讲一下直接在eBPF内核态中对http报文做简单解析的基本手法




第14讲:eBPF分析http包(2) 在内核态直接区分http请求和响应
沿着上节课,我们完成在内核态中直接判断http请求的方法




本课程每周更新1课时
会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数906
沙发#
发布于:2024-01-05 01:49
更至第14讲
会讲故事的程序员
游客

返回顶部