Slide 1

Slide 1 text

eBPF Updates (March 2025) Kenta Tada, Toyota Motor Corporation eBPF Japan Meetup | Mar 15, 2025

Slide 2

Slide 2 text

© 2024 Cloud Native Computing Foundation About me Toyota Motor Corporation ● Project Manager ○ Develop both server-side and automotive systems ○ Accelerate eBPF adoption across the company ● Open Source Program Office in Toyota Recent Activities ● CNCF End User Technical Advisory Board ● KubeDay Japan 2024 Co-chair ● CNCJ / eBPF Japan Community Organizer ● The reviewer of the Japanese translation of the book "Learning eBPF" published by O'Reilly Japan @kenta_tada Kenta Tada

Slide 3

Slide 3 text

© 2024 Cloud Native Computing Foundation 3 Introduction ●eBPF Japan Community は、日本国内の eBPF ユーザーや開発者が情報を共 有し、議論するためのコミュニティ ●本スライドでは、日本のエンジニアが eBPF への理解を深めるため、最近の注 目トピックをいくつか紹介

Slide 4

Slide 4 text

© 2024 Cloud Native Computing Foundation 4 eBPF Research Papers ●CSRankings に基づくeBPF関連論文のリストを Paul Chaignon 氏が作成 ●過去の有名な論文から最新の研究まで網羅 ● eBPF Research Papers ○ https://pchaigno.github.io/bpf/2025/01/07/research-papers- bpf.html

Slide 5

Slide 5 text

© 2024 Cloud Native Computing Foundation 5 ByteDance による netkit のバックポート ●ByteDance が netkit を kernel 5.15 にバックポート し、本番運用 ●netkit は veth 利用時の無駄な softirq の影響をなくし、レイテンシーを減ら す。 ●Case Study: Bytedance Uses eBPF to Enhance Networking Performance ○ https://ebpf.foundation/case-study-bytedance-uses-ebpf-to- enhance-networking-performance/

Slide 6

Slide 6 text

© 2024 Cloud Native Computing Foundation 6 uretprobe のシステムコール化による影響 ●Kernel 6. 11 から、uretprobe が システムコールになる。 ●Docker 等の環境において、 seccomp のポリシーによっては uretprobes が ブロックされてしまう。 ●The trouble with the new uretprobes ○ https://lwn.net/Articles/1005662/

Slide 7

Slide 7 text

© 2024 Cloud Native Computing Foundation 7 アメリカ連邦政府は WebAssembly を推奨 ●連邦政府は eBPF よりも WebAssembly のセキュリティを推奨するという記 事が話題に! ●米国国立標準技術研究所(NIST)の論文「A Data Protection Approach for Cloud-Native Applications」において、WebAssembly(Wasm)の活用が クラウドネイティブなサービスメッシュ領域全体でのセキュリティ強化に有 効であると指摘、また著者は eBPF が特定の用途に特化して設計されている ことを強調し、万能なツールとして扱うべきではないと指摘 ●The Feds Push for WebAssembly Security Over eBPF ○ https://thenewstack.io/the-feds-push-for-webassembly- security-over-ebpf/

Slide 8

Slide 8 text

© 2024 Cloud Native Computing Foundation 8 OpenTelemetry Go Auto-Instrumentation ●OpenTelemetry Go Auto-Instrumentation がベータリリース ●OpenTelemetry Go Auto-Instrumentation は、 eBPF を活用して、 Go 言語 で開発されたアプリケーション向けの自動計装を実現するライブラリ ●Announcing the Beta Release of OpenTelemetry Go Auto- Instrumentation using eBPF ○ https://www.cncf.io/blog/2025/03/03/announcing-the-beta- release-of-opentelemetry-go-auto-instrumentation-using- ebpf/ ●Stable release に向けた課題のうち、興味深い「1.Grafana Beyla との統 合」、「2.bpf_probe_write_user の代替案」の話を紹介

Slide 9

Slide 9 text

© 2024 Cloud Native Computing Foundation 9 1.Grafana Beyla との統合 ●Grafana Beyla とは ○ Grafana 社が開発した eBPF ベースの自動インストゥルメンテーショ ンツールで、Go、C/C+ +、Rust、Python、Ruby、Java、NodeJS、.NET などの言語に対応 ○ eBPF を活用し、ソースコードを変更することなく実現 ●統合の背景 ○ OpenTelemetry Go Auto-Instrumentation と Beyla は共に eBPF を 活用した自動計測を目指しており、コードや機能の重複を避けるため に統合検討開始

Slide 10

Slide 10 text

© 2024 Cloud Native Computing Foundation 10 2.bpf_probe_write_user の代替案 ●Context Propagation と eBPF ○ Context Propagation にはアプリケーションのメモリ空間にある情報 を適切に更新する必要があり、Beyla 等では bpf_probe_write_user ヘルパー関数を用いて実現 ○ ただし LSM lockdown の integrity モードが有効化された環境では、 bpf_probe_write_user が制限される。 ●代替案を模索中 ○ bpf arena を使う? ○ ptrace を使う? ○ カーネルのバージョンによって対応を変える?

Slide 11

Slide 11 text

© 2024 Cloud Native Computing Foundation 11 まとめ ●eBPF の本番環境での事例が増加 ○ 大規模環境での eBPF の最新技術の適用が進んでいる。 ○ OpenTelemetry 等のオブザーバビリティツールにも eBPF が組み込 まれ、間接的にも活用されていく。 ●本番運用に伴い新たな課題が発生 ○ bpf_probe_write_user の制限により、Context Propagation の代替 手段が求められている。 ○ uretprobe(2) の seccomp によるブロックなど、セキュリティ制約と の調整が必要 ●今後の展開とコミュニティの役割 ○ 最新の技術動向を共有し、実用的なソリューションを模索

Slide 12

Slide 12 text

© 2024 Cloud Native Computing Foundation 12 今後の展開 ●Japan Community Day における eBPF Japan Commuinty 枠でのイベント企 画進行中 ●次回ミートアップイベントやジョイントイベントを計画中 ●Discord チャンネルはこちら ○ https://t.co/qUPClQiBsj