graph TD
User((<b>User / Operator</b>))
KagentCLI["<b>kagent CLI</b><br/><i>Client</i>"]
LLM["<b>LLM</b><br/>(ChatGPT, Gemini, Claude, etc.)"]
subgraph K8s["Kubernetes Cluster"]
direction TB
AGController["<b>agentgateway-controller</b><br/><i>1 Deployment</i>"]
KagentUI["<b>kagent-ui</b><br/><i>1 Deployment</i>"]
subgraph KagentCPGroup[" "]
direction TB
KagentCtrl["<b>kagent-controller</b><br/><i>1 Deployment</i>"]
KMCP["<b>kmcp-controller</b><br/><i>1 Deployment</i>"]
end
Agent["<b>Agent</b><br/><i>1..N Deployments</i>"]
MCPServer["<b>MCP / Tool Server</b><br/><i>1..N Deployments</i>"]
AG["<b>agentgateway</b><br/><i>1..N Deployments</i><br/><i>(one per Gateway)</i>"]
Service["<b>Service</b><br/><i>Workloads</i>"]
end
%% Control Plane Logic
KagentUI <-->|User Interaction / Manage| KagentCPGroup
KagentCLI <-->|User Interaction / Manage| KagentCPGroup
KagentCtrl -->|"Tool Discovery<br/>(streamable HTTP or SSE)"| MCPServer
KagentCtrl <-->|"User Interaction / Manage"| Agent
AGController -.->|"Program Config / Policy"| AG
KMCP -.->|Manage| MCPServer
%% User flow
User -->|"- User Interaction<br/>- Manage (Operator)"| KagentCLI
User -->|"- User Interaction<br/>- Manage (Operator)"| KagentUI
User -.->|"Manage via Agent / MCP CRDs (Operator)"| KagentCPGroup
User -.->|"Manage via Gateway API / CRDs (Operator)"| AGController
%% Traffic Flows via `agentgateway`
Agent <-->|A2A / MCP / LLM Traffic| AG
AG -->|Routing / Policy Enforcement| MCPServer
AG -->|Unified API / Guardrail| LLM
%% Execution
MCPServer -->|API Call| Service
%% 스타일 정의
classDef external fill:#eceff1,stroke:#90a4ae,stroke-width:2px,color:#37474f
classDef actor_user fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px,color:#1b5e20,font-size:18px
classDef actor_operator fill:#e3f2fd,stroke:#1565c0,stroke-width:3px,color:#0d47a1,font-size:18px
classDef external_llm fill:#e3f2fd,stroke:#1565c0,stroke-width:3px,color:#0d47a1,font-size:16px
%% [그룹 1] `kagent / kmcp` 라인 (보라 계열)
classDef highlight_kagent fill:#6200ee,stroke:#3700b3,stroke-width:4px,color:#fff
classDef highlight_kagentUI fill:#8200ee,stroke:#5700b3,stroke-width:4px,color:#fff
classDef runtime_kagent fill:#f3e5f5,stroke:#7e57c2,stroke-width:2px,color:#311b92
%% [그룹 2] `agentgateway` 라인 (오렌지 계열)
classDef highlight_ag fill:#ff6d00,stroke:#e65100,stroke-width:4px,color:#fff
classDef control_kgateway fill:#fff3e0,stroke:#fb8c00,stroke-width:2px,color:#e65100
%% 기타
classDef backend fill:#ffffff,stroke:#c2185b,stroke-width:1px,color:#880e4f
%% 서브그래프 스타일
style K8s fill:#f8f9fa,stroke:#37474f,stroke-width:2px,stroke-dasharray: 5 5
style KagentCPGroup fill:none,stroke:#7e57c2,stroke-width:2px,stroke-dasharray: 5 5
%% 클래스 적용
class LLM external_llm
class User actor_user
class KagentUI,KagentCtrl,KMCP,KagentCLI runtime_kagent
class Agent highlight_kagent
class MCPServer highlight_kagentUI
class AGController control_kgateway
class AG highlight_ag
class Service backend
as S/W 엔지니어
a2a kubernetes kubernetes gateway api agent agentgateway kagent mcp
2026/03/20