《张晓辉--Pipy 与 eBPF:重塑系统级编程的新范式.pdf》由会员分享,可在线阅读,更多相关《张晓辉--Pipy 与 eBPF:重塑系统级编程的新范式.pdf(28页珍藏版)》请在三个皮匠报告上搜索。
1、Pipy 与 eBPF重塑系统级编程的新范式第二届 eBPF开发者大会w w w.e b p f t r a v e l.c o m张晓辉张晓辉 Flomesh 架构师/技术布道师资深程序员,CNCF Ambassador,LFAPAC 开源布道师,云原生社区管委会成员,微软 MVP,公众号“云原生指北”作者。多年的微服务和云原生实践经验,主要工作涉及微服务、容器、Kubernetes、DevOps 等。第 二 届 e B P F 开 发 者 大 会个人介绍一、eBPF 工作场景eBPF 场景将 eBPF 程序附加到跟踪点以及内核和用户应用探针点的能力,使得应用程序和系统本身的运行时行为具有前
2、所未有的可见性。eBPF 不依赖于操作系统暴露的静态计数器和测量,而是实现了自定义指标的收集和内核内聚合,并基于广泛的可能来源生成可见性事件。可观测eBPF 场景看到和理解所有系统调用的基础上,将其与所有网络操作的数据包和套接字级视图相结合,可以采用革命性的新方法来确保系统的安全。通过检测和阻止恶意行为,如 DDoS攻击、网络钓鱼等,实施网络策略、可以增强系统的安全性和稳定性。安全将 eBPF 程序附加到跟踪点以及内核和用户应用探针点的能力,使得应用程序和系统本身的运行时行为具有前所未有的可见性。eBPF 不依赖于操作系统暴露的静态计数器和测量,而是实现了自定义指标的收集和内核内聚合,并基于广
3、泛的可能来源生成可见性事件。可观测eBPF 场景eBPF 的可编程性使其能够在不离开 Linux 内核的包处理上下文的情况下,添加额外的协议解析器,并轻松编程任何转发逻辑以满足不断变化的需求。JIT 编译器提供的效率使其执行性能接近于本地编译的内核代码。网络看到和理解所有系统调用的基础上,将其与所有网络操作的数据包和套接字级视图相结合,可以采用革命性的新方法来确保系统的安全。通过检测和阻止恶意行为,如 DDoS攻击、网络钓鱼等,实施网络策略、可以增强系统的安全性和稳定性。安全将 eBPF 程序附加到跟踪点以及内核和用户应用探针点的能力,使得应用程序和系统本身的运行时行为具有前所未有的可见性。e
4、BPF 不依赖于操作系统暴露的静态计数器和测量,而是实现了自定义指标的收集和内核内聚合,并基于广泛的可能来源生成可见性事件。可观测二、eBPF 与网络网络数据路径eBPF in Data PathCilium L3/4/7多组件协同三、eBPF 与 Pipy可编程应用引擎 Pipy灵活多变提供了一系列可插拔的组件,又称过滤器,同时对组合的方式没有限制。快C+开发,使用了异步网络;分配的资源被池化并可复用;内部尽可能地使用指针传递数据,最大限度降低内存带宽的压力。小用于工作节点的可执行文件仅 15MB 左右,并且没有任何外部依赖。可编程运行 PipyJS(标准 JavaScript 的定制版本)
5、的脚本引擎。开放比开源更加开放,不隐藏任何细节,但使用无需了解。https:/ 架构上层:使用核心层的能力,对流量进行编程中层:核心层,提供流处理的 API、可插拔组件底层:依赖极少,轻量、高效可编程Pipy Repo类似 GitOps使用 eBPF使用 eBPF透明代理透明代理更多示例 网络包统计:https:/ 四层负载均衡:https:/ 端口拦截:https:/ 透明代理:https:/ 与 eBPF四、更多Why eBPF and Pipy?Dynamically program the kernel for efficient networking,observability,tracing,and security.High performance programmable proxy engine for the cloud,edge and IoT.Pipy InsidePipy InsidePipy Insideflomesh-