Cilium的网络加速秘诀
0 码力 | 14 页 | 11.97 MB | 1 年前文档主要介绍了Cilium的网络加速技术,重点阐述了其基于eBPF技术实现的网络性能提升。Cilium通过在Linux内核中使用eBPF程序,实现了数据包的高效转发、负载均衡和过滤,显著降低了网络数据包的转发延时,提升了吞吐量,并减少了CPU开销。与传统技术相比,Cilium在服务数量增加时表现出更优的性能,例如在服务数量达到3K时,Cilium的延时显著低于kube-proxy。此外,Cilium还支持DSR(Direct Server Return)模式,进一步优化了nodePort的转发性能,减少了网络转发的跳数。2.2.1通过Golang+eBPF实现无侵入应用可观测
0 码力 | 29 页 | 3.83 MB | 1 年前文档详细介绍了通过Golang和eBPF实现无侵入式应用可观测性的方法。eBPF是一种在Linux内核运行的沙盒程序,无需修改任何应用代码,提供无侵入的应用无关、语言无关、框架无关的应用可观测能力。结合Golang,可以实现高效的网络、系统调用等指标采集。文档还提到性能提升,如eBPF Agent性能提升20%,Otel Collector性能提升80%,并提供智能告警和多维度监控能力,帮助实现更高效的应用管理和优化。How and When You Should Measure CPU Overhead of eBPF Programs
0 码力 | 20 页 | 2.04 MB | 1 年前文档介绍了如何测量eBPF程序的CPU开销,强调了测量的重要性和方法。文档指出,eBPF程序通过运行时间(run_time_ns)和运行次数(run_cnt)来衡量性能,推荐使用eBPF进行基准测试和CI/CD,并在生产环境中使用采样分析器。测量方法包括通过sysctl和procfs启用内核eBPF统计,以及使用bpftool、bpf syscall和procfs访问统计信息。文档还介绍了ebpfbench这一Go库,用于eBPF基准测试。bpfbox: Simple Precise Process Confinement with eBPF and KRSI
0 码力 | 8 页 | 528.12 KB | 1 年前本文档介绍了bpfbox,一种基于eBPF和KRSI的Linux进程限制机制。bpfbox允许用户为每个应用程序编写简单的策略,并通过附加BPF程序到LSM钩子来执行这些策略。该机制结合了用户空间和内核空间的状态,提供了一种轻量级、灵活且生产安全的解决方案。bpfbox的策略语言支持规则和指令,用于指定对系统对象的访问权限,并增强规则块的功能。文档还提到bpfbox在Linux内核5.8及以上版本上即插即用,并对现有进程限制机制进行了改进。Debugging Go in production using eBPF
0 码力 | 14 页 | 746.99 KB | 1 年前本文档展示了如何利用eBPF在生产环境中调试Go程序。通过使用tracepoints进行动态日志记录,可以轻松地对生产二进制文件进行插桩。尽管Go的ABI(应用程序二进制接口)复杂性(如接口和通道等特性)使得调试变得困难,但仍可通过eBPF实现复杂功能,例如捕获HTTP消息。文档详细介绍了如何使用eBPF挂钩函数调用,并通过示例展示了如何利用BPF程序捕获函数参数。此外,还提到了使用Uprobes进行函数挂钩,并通过Perf Buffer输出跟踪数据。最后,文档展示了如何通过eBPF实现Go程序的动态调试,并提供了Github链接供进一步参考。Zero instrumentation monitoring with your first steps in eBPF
0 码力 | 7 页 | 618.37 KB | 1 年前文档介绍了eBPF在非仪器化监控中的应用,展示了如何通过eBPF附加到不同事件(如Kprobes、uprobes、Tracepoints和网络包)进行监控。内容还提到了使用C、LLVM/CLANG、tc、gobpf和bcc等工具和框架来简化eBPF开发,并提供了实际案例和链接供读者进一步探索。Identity Aware Threat Detection and Network Monitoring by using eBPF
0 码力 | 7 页 | 1.35 MB | 1 年前文档介绍了使用eBPF进行基于身份的威胁检测和网络监控的方法。传统网络工具基于IP和端口,但在Kubernetes环境中,IP地址动态变化使其不再有意义。通过结合eBPF和Cilium,可以实现对 suspicious IP的流出监控、未经授权的互联网流量检测以及Kubernetes API服务器访问的监控。解决方案包括定义签名、导出数据到Splunk,并通过网络策略决策字段(如转发或丢弃)进行警报。该方法能够有效应对容器化工作负载的网络威胁。North-South Load Balancing of Kubernetes Services with eBPF/XDP
0 码力 | 11 页 | 444.46 KB | 1 年前文档探讨了在Kubernetes服务中利用eBPF/XDP技术实现南北向流量负载均衡的方法。通过将服务暴露于固定IP地址,并结合eBPF/XDP的高效数据包处理能力,文档展示了如何优化服务发现和流量管理。Cilium作为容器网络解决方案,利用这些技术实现高性能和低延迟的网络通信。eBPF Summit 2020 Lightning Talk
0 码力 | 22 页 | 1.81 MB | 1 年前文档介绍了eBPF Summit 2020 Lightning Talk的主要内容,包括不同类型的BPF程序、使用Rust编写BPF程序、在RedBPF中添加新功能、利用BPF maps进行状态决策,以及如何加载程序以保护RabbitMQ。Understanding Ruby with BPF - rbperf
0 码力 | 19 页 | 972.07 KB | 1 年前文档介绍了rbperf工具,该工具用于通过BPF技术分析Ruby程序的性能。rbperf能够记录和报告系统调用(如write(2))以及CPU活动,特别适用于复杂Ruby程序的执行分析。文档还展示了rbperf的工作流程,包括数据采集、处理和输出,并提到了未来计划,如集成到Facebook的性能分析基础设施、改进开源版本和增加更多功能支持。
共 24 条
- 1
- 2
- 3
关键词
Cilium eBPF 网络加速 转发延时 TC Golang 无侵入 应用可观测 性能提升 eBPF programs CPU overhead sysctl procfs ebpfbench KRSI LSM 进程限制 策略语言 Go 调试 tracepoints Uprobes Kprobes uprobes Tracepoints gobpf Kubernetes工作负载 IP地址 Splunk North-South Load Balancing Kubernetes Services eBPF/XDP IP address BPF programs Rust RedBPF BPF maps RabbitMQ rbperf BPF 性能分析 系统调用 Ruby