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を通過し、転送前にトラフィックを強制し最適化します:
- 認証 / 認可
- レート制限
- プロンプトガード
- ルーティング
- キャッシング
- 可観測性
処理されたリクエストは、次の3つのバックエンドカテゴリのいずれかに転送されます:
- AIモデル:OpenAI、Anthropic、Bedrock、Gemini、Vertexなど。
- MCPサーバー: ツール/データサーバー(例: GitHub、Slack、データベースなど)
- REST API: 内部Kubernetesサービスまたは外部HTTPエンドポイント
コンポーネントの概要
管理プレーン(このリポジトリ)
| Component | Technology | Role |
|---|---|---|
| Vue UI | Vue 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アップストリームプロジェクト)
| Component | Technology | Role |
|---|---|---|
| コントロールプレーン | Go | gatewayReconciler(Helmレンダー)+ agentgatewaysyncer(XDSコンバーター) |
| データプレーン | Rust | TLS、AuthN/Z、レート制限、プロンプトガード、ルーティング — すべて1つのポッドで |
| バックエンドディスパッチャー(組み込み) | 4種類 — ai、mcp、static、dynamicForwardProxy |
Kubernetesリソース
| CRD | API Group | Purpose |
|---|---|---|
| ゲートウェイ | gateway.networking.k8s.io | リスナーを持つエントリーポイント(ホスト/ポート/TLS); GatewayClass = agentgateway |
| HTTPRoute | gateway.networking.k8s.io | リクエストをマッチ → backendRef; フィルター(リライト/リダイレクト/ミラー)をサポート |
| AgentgatewayBackend | agentgateway.dev/v1alpha1 | アップストリーム定義(ai/mcp/static/dfp) |
| AgentgatewayPolicy | agentgateway.dev/v1alpha1 | フロントエンド/トラフィック/バックエンドポリシー(AIサブポリシーを含む) |
| AgentgatewayParameters | agentgateway.dev/v1alpha1 | データプレーンのプロビジョニング(イメージ、レプリカ、HPAなど) |
| Secret | core/v1 | TLS証明書とバックエンドAPIキー |