Upgrade to Pro — share decks privately, control downloads, hide ads and more …

eBPF Updates (March 2025)

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

eBPF Updates (March 2025)

Avatar for Kenta Tada

Kenta Tada

March 15, 2025
Tweet

More Decks by Kenta Tada

Other Decks in Programming

Transcript

  1. © 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
  2. © 2024 Cloud Native Computing Foundation 3 Introduction •eBPF Japan

    Community は、日本国内の eBPF ユーザーや開発者が情報を共 有し、議論するためのコミュニティ •本スライドでは、日本のエンジニアが eBPF への理解を深めるため、最近の注 目トピックをいくつか紹介
  3. © 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
  4. © 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/
  5. © 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/
  6. © 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/
  7. © 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 の代替案」の話を紹介
  8. © 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 を 活用した自動計測を目指しており、コードや機能の重複を避けるため に統合検討開始
  9. © 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 を使う? ◦ カーネルのバージョンによって対応を変える?
  10. © 2024 Cloud Native Computing Foundation 11 まとめ •eBPF の本番環境での事例が増加

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

    Day における eBPF Japan Commuinty 枠でのイベント企 画進行中 •次回ミートアップイベントやジョイントイベントを計画中 •Discord チャンネルはこちら ◦ https://t.co/qUPClQiBsj