1.19. 拡張


WebAssembly 拡張機能を使用して、Red Hat Service Mesh プロキシーに直接新しい機能を追加できます。これにより、お使いのアプリケーションから、さらに一般的な機能を移動して、単一の言語で実装して、WebAssembly bytecode にコンパイルできます。

注記

WebAssembly 拡張機能は、IBM Z および IBM Power ではサポートされていません。

1.19.1. WebAssembly モジュールの概要

WebAssembly モジュールは、プロキシーなどの多くのプラットフォームで実行でき、これには、幅広い言語サポート、高速実行、および sandboxed-by-default (デフォルトでサンドボックス化される) セキュリティーモデルが含まれます。

Red Hat OpenShift Service Mesh 拡張機能として Envoy HTTP フィルター を使用でき、幅広い機能を提供します。

  • 要求と応答の本体とヘッダーの操作
  • 認証やポリシーのチェックなど、要求パスにないサービスへの帯域外 HTTP 要求
  • 相互に通信するフィルター用のサイドチャネルデータストレージおよびキュー
注記

新しい WebAssembly 拡張機能を作成するときは、WasmPluginAPI を使用してください。ServiceMeshExtension API は、Red Hat OpenShift Service Mesh バージョン 2.2 で非推奨になり、今後のリリースで削除される予定です。

Red Hat OpenShift Service Mesh 拡張機能の作成には 2 つの部分があります。

  1. proxy-wasm API を公開する SDK を使用して拡張機能を記述し、それを WebAssembly モジュールにコンパイルする必要があります。
  2. 次に、モジュールをコンテナーにパッケージ化する必要があります。

サポートされる言語

WebAssembly バイトコードにコンパイルする言語を使用して Red Hat OpenShift Service Mesh 拡張を作成できますが、以下の言語には proxy-wasm API を公開する既存の SDK があるため、これを直接使用できます。

表1.14 サポートされる言語
言語保守管理者リポジトリー

AssemblyScript

solo.io

solo-io/proxy-runtime

C++

proxy-wasm チーム (Istio コミュニティー)

proxy-wasm/proxy-wasm-cpp-sdk

Go

tetrate.io

tetratelabs/proxy-wasm-go-sdk

Rust

proxy-wasm チーム (Istio コミュニティー)

proxy-wasm/proxy-wasm-rust-sdk

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.