メインコンテンツまでスキップ

Architectures

概要

AI Gatewayシステムは、管理プレーンとトラフィックプレーンからなる二層アーキテクチャで設計されています。これらの二つのプレーンは意図的に分離されており、ネイティブKubernetes構成メカニズムを通じてのみ接続されており、信頼性のあるランタイム強制を伴う中央集権的なガバナンスを可能にしています。

管理プレーン

オペレーターは、以下の機能領域をカバーする管理パネルを通じてシステムを管理します:

  • Gateway: ゲートウェイライフサイクルおよび関連コンポーネント
  • Backend: 宛先(LLM、MCP、API)の定義と管理
  • Route/API: ルーティングルール、エンドポイント、およびAPIマッピング
  • Policy: アクセス制御およびコンテンツガバナンスポリシー
  • Secret: 認証情報およびキー管理
  • Gateway Config: 操作ゲートウェイ設定
  • Topology/Monitoring: システムの可視性および監視ビュー

すべてのUIアクションはKubernetes CRDとして具現化されます。agentgatewayはこれらのCRDを継続的に監視し、ランタイムの動作を調整します。これは、管理と生産トラフィックの間の唯一の制御された統合ポイントです。

トラフィックプレーン(ランタイムフロー)

リクエストは左から右へ流れます:

Input Traffic (AI Clients)

ゲートウェイは、Claude Desktop、Cursor、GitHub Copilotなどの一般的なAIクライアントや、カスタムアプリケーション/エージェントからのリクエストを受け付けます。

agentgateway (Rust Proxy)

すべてのリクエストはagentgatewayを通過し、転送前にトラフィックを強制し最適化します:

  • 認証 / 認可
  • レート制限
  • プロンプトガード
  • ルーティング
  • キャッシング
  • 可観測性 
Backends

処理されたリクエストは、次の3つのバックエンドカテゴリのいずれかに転送されます:

  • AIモデル:OpenAI、Anthropic、Bedrock、Gemini、Vertexなど。
  • MCPサーバー: ツール/データサーバー(例: GitHub、Slack、データベースなど)
  • REST API: 内部Kubernetesサービスまたは外部HTTPエンドポイント

コンポーネントの概要

管理プレーン(このリポジトリ)

ComponentTechnologyRole
Vue UIVue 3.4 + TypeScript 5.4 + Vite 5.3オペレーターコンソール、スタンドアロンまたはMFE(ai-gateway)ポート8230で
COREサービスREST /core/v1プロファイル、メニュー、プロジェクト(クロスカッティング)
AI_GATEWAYサービスREST /ai-gateway/v1すべてのCRDのCRUD、領域+プロジェクトスコープ

ランタイムプレーン(agentgatewayアップストリームプロジェクト)

ComponentTechnologyRole
コントロールプレーンGogatewayReconciler(Helmレンダー)+ agentgatewaysyncer(XDSコンバーター)
データプレーンRustTLS、AuthN/Z、レート制限、プロンプトガード、ルーティング — すべて1つのポッドで
バックエンドディスパッチャー(組み込み)4種類 — ai、mcp、static、dynamicForwardProxy

Kubernetesリソース

CRDAPI GroupPurpose
ゲートウェイgateway.networking.k8s.ioリスナーを持つエントリーポイント(ホスト/ポート/TLS); GatewayClass = agentgateway
HTTPRoutegateway.networking.k8s.ioリクエストをマッチ → backendRef; フィルター(リライト/リダイレクト/ミラー)をサポート
AgentgatewayBackendagentgateway.dev/v1alpha1アップストリーム定義(ai/mcp/static/dfp)
AgentgatewayPolicyagentgateway.dev/v1alpha1フロントエンド/トラフィック/バックエンドポリシー(AIサブポリシーを含む)
AgentgatewayParametersagentgateway.dev/v1alpha1データプレーンのプロビジョニング(イメージ、レプリカ、HPAなど)
Secretcore/v1TLS証明書とバックエンドAPIキー