Ebpf
何时(以及何时不)使用 eBPF
原文地址:https://www.tigera.io/blog/ebpf-when-and-when-not-to-use-it/ 本文介绍了 eBPF 的一些基本应用场景,主要和内核函数,iptables 对比,让大家能理解 eBPF 应该在那些场景下使用,那些场景下不建议使用。我认为可以作为入门 eBPF 的必修课,学习一个技术,必须知道这个技术擅长那些场景,不擅长那些场景,在学习和使用上才不至于走弯路。
October 31, 2022
如何在生产环境跟踪 Go 函数的参数
原文地址:https://blog.px.dev/ebpf-function-tracing/ 前言 这是一系列文章中的第一篇,这个系列的文字是分析记录我们如何在生产环境中使用 eBPF 调试应用程序,而不需要重新编译/重新部署。这篇文章描述了如何使用 gobpf 和 uprobes 为 Go 应用程序构建函数参数跟踪器。该技术也可扩展到其他编译语言,如 C++、Rust 等。本系列的下一篇文章将讨论使用 eBPF 跟踪 HTTP/gRPC 数据、SSL等。
October 26, 2022
如何使用 eBPF 检测分析用户态程序
eBPF 彻底改变了 Linux 内核中的可观察性。在我之前的系列文章中,我介绍了eBPF 生态系统的基本构建模块,简要介绍了XDP,并展示了它与 eBPF 基础设施如何密切合作,以便在网络堆栈中引入一个快速处理的数据路径。
October 25, 2022
云原生架构中 Kubernetes 可观测性的挑战和解决思路
前言 本文是一篇翻译的文章,主要是学习,原文地址在这里. 这篇文章是 Calico 公司的员工写的,思路非常好。可观测性即代码,非常 k8s 范。在我们实际应用中,目前 k8s 的观测性确实是一个非常大的问题,就目前我在做的平台中,我就对这个问题很头大,虽然业界也有可观测性方案,但是 opentelemetry 目前较为成熟的只是 trace,log 还不够成熟,metrics 目前还是 Prometheus 比较成熟。所以目前大多数的业界平台都是混着用。虽然 opentelemetry 声称是要统一这三者,但是从实际技术角度和目前发展情况来看,还需要时日才能成熟。
November 27, 2021
必须知道的 Kubernetes 设计模式 Top 10
前言 本文是一篇翻译的文章,主要是学习,原文地址在这里. 这篇文章是对 redhat 写的一本书的概述,提炼了很多核心概念。 这篇文章中介绍了和传统《设计模式》类似的云原生时代的设计模式,《设计模式》在软件开发中意义重大,现在多少软件研发都受到它的影响,而且我之前也在公司内开了这门课程,自己学习的同时,也是想让我们的开发者开发软件更有软件设计思维。
November 27, 2021
使用 eBPF 和 XDP 高速处理数据包
前言 本文是一篇学习翻译文章,原文在这里。 XDP 是一种特殊的 eBPF 程序,在数据包处理上因为在协议栈之前就可以处理数据,所以有非常高的性能。
November 20, 2021
linux5.3.0编译运行LINUX内核源码中的BPF示例代码
前言 环境:ubuntu 18.04,内核版本 5.3.0。 安装内核: apt-get install linux-image-5.3.0-70-generic apt-get install linux-headers-5.3.0-70-generic apt-get install linux-source-5.3.0 ebpf-tools编译 下面简单记录编译 bpf-tools 时的一些过程。 源码解压到/data/linux-source-5.3.0/目录下,进行工具编译。直接进入工具目录进行编译:
March 31, 2021