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

eBPF Updates (March 2025)

eBPF Updates (March 2025)

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