Solo.io、 クラウドコンピューティング会社、マイクロサービス、サンドボックスおよびサーバーレス、 オープンソースプロジェクト「BumbleBee」を発表。 新しいプロジェクトは開発者の経験を簡素化します eBPFツールを構築、パッケージ化、配布する、ソロによると。
丸鼻蜂 ユーザースペースコードを自動的に生成する eBPFツールの開発を繰り返していると同社は説明した。 また、Dockerのようなエクスペリエンスを提供します eBPFプログラムをパッケージ化します。 これにより、他のOCIイメージワークフローに接続して、公開および配布することができます。
マルハナバチについて
丸鼻蜂 eBPFプログラムをコンテナイメージとしてパッケージ化することが可能になります 任意のシステムで実行できるOpenContainer Initiative(OCI) 再コンパイルまたは追加のコンポーネントを使用せずに ユーザースペースで。
eBPFプロセッサからのデータの処理を含む、カーネル内のeBPFコードとの相互作用は、BumbleBeeによって処理されます。これは、このデータをメトリック、ヒストグラム、またはログの形式で自動的にエクスポートします。カールユーティリティ。 提案されたアプローチにより、開発者はeBPFコードの記述に集中できます。 ユーザースペース、アセンブリ、カーネルへのロードからこのコードとの相互作用を整理することで気を散らさないでください。
Solo.ioのCEO、 Idit Levineは、次のように述べています。
同社は、カーネルレベルで実行されるeBPFテクノロジーにアクセスするために必要な繰り返しユーザースペースコードを自動的に生成するBumbleBeeを開発しました。 BumbleBeeには、ログ、メトリック、ヒストグラムなどのマップを自動的に公開することにより、eBPFプログラムのユーザースペースコードを自動的に生成するコマンドラインインターフェイス(CLI)が含まれています。
eBPFプログラムを管理するには、 Dockerスタイルの「bee」ユーティリティが提供されており、eBPFドライバをすぐにダウンロードできます。 外部リポジトリから関心があり、ローカルシステムで実行します。
このツールキットを使用すると、選択したトピックのeBPFドライバーのCコードフレームを生成できます(現在、ネットワークスタック呼び出しとファイルシステムをインターセプトするファイルドライバーとネットワークドライバーのみがサポートされています)。 生成されたフレームワークに基づいて、開発者は興味のある機能をすばやく実装できます。
BCC(BPFコンパイラコレクション)とは異なり、 BumbleBeeは、各カーネルバージョンのドライバーコードを完全に再構築しません Linux(BCCは、eBPFプログラムが実行されるたびに、Clangを使用してオンザフライでコンパイルを使用します)。
移植性の問題を解決するには、 開発中 ツールキット CO-REとlibbpf。コードをXNUMX回だけコンパイルできます。 ロードされたプログラムを現在のカーネルおよびBTFタイプ(BPFタイプ形式)に適合させる特別なユニバーサルローダーを使用します。
BumbleBeeはlibbpf上のプラグインであり、標準のRingBufferおよびHashMapeBPFマップ構造に配置されたデータの自動解釈および視覚化のための追加のタイプを提供します。
最終的なeBPFプログラムを作成し、それをOCIイメージとして保存するには、次のコマンドを実行するだけです。
bee build file_with_code name:version
そして、コマンドを実行します
bee run name:version
デフォルトでは、コントローラーから受信したイベントはターミナルウィンドウに表示されますが、必要に応じて、コントローラーにバインドされたネットワークポートでcurlまたはwgetユーティリティを呼び出すことでデータを取得できます。
ドライバーは、OCI準拠のリポジトリーを介して配布できます。たとえば、ghcr.ioリポジトリー(GitHub Container Registry)から外部ドライバーを実行するには、次のコマンドを実行できます。
bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)
コントローラをリポジトリに配置するために、コマンドが提供されます
bee push
そしてバージョンをリンクするには
bee tag
eBPFの最大の利点は、単に効率です。 より多くのベンダーがそれらの機能を利用するにつれて、セキュリティ、ネットワーキング、およびストレージプラットフォームの処理の総コストは減少するはずです。
今、eBPFは、クラウドサービスプロバイダーなどのWeb規模の企業で広く使用されています。 Facebookはデータセンターの主要なソフトウェア定義ロードバランサーとして使用していますが、GoogleはKubernetesマネージドオファリング内でオープンソースのCiliumネットワーキングソフトウェアを使用しています。
ただし、将来的には、より多くのオペレーティングシステムで容量が有効になるため、eBPFがより広く採用されるようになるのは時間の問題だとLevine氏は言います。
最後に あなたがそれについてもっと知りたいなら、詳細を確認できます 次のリンクで。