拡張性

WebAssemblyは、Istioプロキシ(Envoy)を拡張するために使用できるサンドボックス化技術です。Proxy-WasmサンドボックスAPIは、Istioにおける主要な拡張メカニズムとしてMixerに取って代わりました。

WebAssemblyサンドボックスの目標

  • 効率性 - 拡張は、低レイテンシ、CPU、およびメモリオーバーヘッドを追加します。
  • 機能 - 拡張は、ポリシーの適用、テレメトリの収集、ペイロードの変更を実行できます。
  • 分離 - 1つのプラグインのプログラミングエラーやクラッシュが、他のプラグインに影響を与えることはありません。
  • 構成 - プラグインは、他のIstio APIと整合性のあるAPIを使用して構成されます。拡張は動的に構成できます。
  • オペレーター - 拡張は、カナリアリリースとして、ログのみ、フェイルオープン、またはフェイルクローズとしてデプロイできます。
  • 拡張開発者 - プラグインは、複数のプログラミング言語で記述できます。

このビデオトークは、WebAssembly統合のアーキテクチャに関する紹介です。

ハイレベルアーキテクチャ

Istio拡張機能(Proxy-Wasmプラグイン)は、いくつかのコンポーネントで構成されています。

  • フィルタサービスプロバイダインターフェース(SPI) フィルタ用のProxy-Wasmプラグインを構築するためのインターフェースです。
  • サンドボックス Envoyに組み込まれたV8 Wasmランタイムです。
  • ホストAPI ヘッダー、トレーラー、メタデータのためのAPIです。
  • コールアウトAPI gRPCおよびHTTP呼び出しのためのAPIです。
  • 統計とロギングAPI メトリクスとモニタリングのためのAPIです。
Extending Istio/Envoy
Istio/Envoyの拡張

フィルタ用のC++ Proxy-Wasmプラグインの例はこちらにあります。C++でWasm拡張機能を実装するには、このガイドに従ってください。

エコシステム

この情報は役に立ちましたか?
改善のための提案はありますか?

ご意見ありがとうございました!