
GKEゲートウェイAPIとサービス拡張:GCPにおける複雑なトラフィックの課題に取り組むための新しいツールキット
Kubernetesはコンテナのオーケストレーションを一変させ、Google Kubernetes Engine(GKE)はコンテナ化されたアプリケーションのデプロイとスケーリングのための強力で管理されたプラットフォームを提供する。GKEはサービスディスカバリーとロードバランシングのための強力な機能を提供するが、ワークロードに到達する前のトラフィックにカスタム処理ロジックを適用することにはまだ限界がある。 ここで サービス拡張は、GKE Gateway API を使ってクラウドロードバランシングをカスタマイズし、強化するための魅力的なソリューションを提供します(注:これは kubernetes の機能であり、Google CloudAPI GatewayService とは無関係です)。 GCPのService Extensionsとは? Service Extensions を使うと、ユーザーはカスタムロジックをデータパスに直接注入することができ、ロードバランサーを流れるトラフィックに高度な変更を加えることができます。これはパイプラインのようなもので、様々な段階で独自のコードを挿入し、バックエンドに影響を与えることなくリクエストとレスポンスを操作することができます。 サービス拡張には、主に2つのタイプがあります: プラグイン:プラグインは、ネットワーキングデータパスに直接インラインでカスタムコードを挿入することができます。WebAssembly(Wasm)とProxy-Wasm ABIを使用して構築されたプラグインは、Googleが管理するサンドボックス基盤上でWasmモジュールとして実行されます。プラグインは低レイテンシで動作するように設計されており、データプレーンのごく近くで実行する必要がある軽量ロジックに最適です。 コールアウト:Google が管理するサービス、またはユーザーが管理するサービス(GKE Pods 上で動作するものを含む)。コールアウトは既存のソフトウェアを再利用できるため柔軟性が高く、実行時の制限も少ないため、外部データや状態を必要とするような複雑なロジックに適しています。