📚 构建长期复利型知识基础设施的指南,详见 RAG 实战手册

Kubernetes AI 应用基础设施开源实践与创新:Solo.io 开源项目研究

探索 Solo.io 开源项目如何助力 Kubernetes AI 应用,提升推理服务与自动化运维的能力,助你实现智能化转型。

近年来,云原生领域不断涌现面向 AI 应用的新型开源项目。笔者长期关注 Kubernetes 与 AI 结合方向,一直在探索哪些开源工具能够帮助企业更好地落地 LLM 推理服务、Agentic AI 自动化运维等场景。恰好 Solo.io 团队在这方面开源了不少项目,比如 kgatewaykagentagentgatewaykmcp,这些项目在我关注的技术方向上表现活跃,功能也很有特色。因此,本篇文章就以 Solo.io 的相关项目为例,系统梳理这类“AI + Kubernetes”开源工具的设计理念、关键能力和企业实战价值,并结合自身调研体验,分析它们与传统方案的差异,最后给出适用建议。

查看/隐藏 - 思维导图

Solo.io 的开源项目介绍

本文将讨论的以下四个 Solo.io 开源项目,下面是总体介绍:

  • kgateway
    • 前身是 Gloo Gateway,基于 Envoy ProxyKubernetes Gateway API
    • 提供传统 API 网关能力,同时扩展为 AI Gateway ,支持 Prompt Guard 提示词防护推理服务编排 (Inference Extension)多模型调度与故障转移
    • 使用场景:统一入口治理 LLM 调用流量、多模型负载均衡、AI 应用的安全合规接入。
  • kagent
    • Kubernetes 原生的 Agentic AI 框架 ,让平台工程和运维团队可以在集群中定义和运行 AI 智能体。
    • 通过 MCP 协议工具多 Agent 协同声明式 CRD 管理 ,实现智能诊断、自动化运维(AgentOps)。
    • 使用场景:自动排障、性能优化、智能巡检与任务编排。
  • agentgateway
    • 专门为 AI Agent 通信 设计的新型数据面代理,已捐赠给 Linux Foundation。
    • 原生支持 A2A (Agent-to-Agent)MCP 协议,提供 安全治理、可观测性、工具注册与联邦 功能。
    • 使用场景:作为多 Agent 系统的通信总线、工具调用的统一网关、跨团队的工具共享与治理。
  • kmcp
    • 面向 MCP Server 开发与运维 的工具集。
    • 提供 脚手架生成 (init)镜像构建 (build)K8s 部署 (deploy)CRD 控制器 (install) ,简化 MCP 工具服务的生命周期管理。
    • 使用场景:快速开发 MCP 工具服务并在 Kubernetes 中原生运行,同时与 agentgateway 集成实现安全与治理。

接下来我们将分别想写介绍下这几个项目。

kgateway:Kubernetes AI 网关

kgateway 是 Solo.io 提供的开源 Kubernetes Gateway API 实现,前身是 2018 年推出的 Gloo 网关。它基于 Envoy Proxy 构建数据面,并拥有高度可扩展的控制面,用于统一管理集群的南北向流量。2025 年随 AI 工作负载的兴起,kgateway 在延续成熟网关能力的基础上新增了对 LLM 服务调用Agent 场景 的支持,是面向未来的下一代云原生网关。作为 Kubernetes Ingress/API Gateway,kgateway 完全遵循 Gateway API 标准,通过自定义资源(GatewayClass、Gateway、HTTPRoute 等)配置路由和策略,并以 Envoy 作为 L7 数据平面提供高性能转发。

kgateway 架构与原理

kgateway 采用控制平面 + 数据平面的架构模型。控制平面通过 Kubernetes CRD 监听 Gateway API 资源变化,高效地产生 Envoy 配置更新,官方数据显示其控制面反应速度快、资源占用低。数据平面由 Envoy Proxy 进程组成,负责根据配置执行路由、流量控制和策略 enforcement。开发者可以像使用标准 Ingress/Egress 网关一样使用 kgateway,同时获得许多增强特性。下图展示了 kgateway 作为 AI 网关处理请求的流程,其中引入了提示词防护机制和对接后端 LLM 服务的能力:

kgateway 作为 AI Gateway 处理 LLM 请求的流程(含 Prompt Guard 审查)
kgateway 作为 AI Gateway 处理 LLM 请求的流程(含 Prompt Guard 审查)

AI 场景关键能力

作为“AI Gateway”,kgateway 提供了一系列面向生成式 AI 应用的增强功能:

  • Prompt Guard 提示词防护:kgateway 内置“提示词护栏”机制,平台团队可通过 TrafficPolicy 等资源配置规则,对进出 LLM 的请求/响应内容进行检查和过滤。例如,可设置字符串或正则模式,一旦检测到敏感词如“credit card”,则拦截请求并返回自定义错误;也可对模型响应中疑似信用卡号的内容进行遮罩处理。此外,kgateway 支持将提示数据发送到外部内容审核服务(如 OpenAI Moderation API)以决定放行或拒绝。这一层“代理之外”的中介防线,让安全策略与应用解耦,实现策略集中管控和“一键急停”Kill-Switch 功能。
  • Inference 扩展与智能路由:kgateway 支持 Gateway API Inference Extension,引入了 InferencePool 等自定义资源用于管理后端模型服务池。运维人员可以创建 InferencePool 将一组同类模型部署实例作为后端,并为其指定端点选择插件(Endpoint Selection Extension, ESE)。当用户请求通过 HTTPRoute 路由至 InferencePool 时,kgateway 不使用默认的简单负载均衡,而是由 ESE 根据实时指标智能挑选具体的模型实例。例如,ESE 会解析请求中指定的 modelName,匹配相应的 InferenceModel 配置,然后综合请求重要级别(Critical 或 Sheddable)、各实例队列积压GPU 缓存利用率LoRA 适配器加载情况等因素,按顺序执行过滤决策,选出最优的实例来处理该请求。如果请求重要且有低排队的实例具备所需的 LoRA,则定向其处理;对于非关键请求则倾向选择负载较低的实例,必要时会直接丢弃过载环境下的低优先级请求。这一推理流量编排能力极大提高了 GPU 资源利用率和服务性能,为多模型部署和故障自动切换提供了基础。
  • 多模型治理与扩展:通过 Inference Extension,kgateway 可以方便地支持多模型调度:运维者可为不同模型(版本)定义各自的 InferencePool 和 InferenceModel,对接例如 vLLM 等开源推理加速引擎,按需更新后端模型版本而无需更改前端调用。结合 TrafficPolicy,kgateway 还能针对模型 API 的特殊需求(如上下文长度、并发限制等)制定策略。与此同时,kgateway 保留了成熟 API 网关的丰富插件(认证鉴权、速率控制、熔断等),这些能力同样适用于 AI 场景下的 高并发调用、安全防护和故障隔离

快速部署与使用

kgateway 提供 Helm Chart 等多种安装方式,很容易在 Kubernetes 集群中部署其控制面和数据面组件。默认安装即可作为通用的 Gateway API 控制器使用;若要启用 AI 扩展功能,只需在配置中开启相应功能开关(如启用 AI Extension)。然后,运维人员通过定义标准的 Gateway/HTTPRoute 资源以及带有 ai 字段的 TrafficPolicy 等即可配置上述 AI 网关能力。例如,下方给出一个 TrafficPolicy 片段,针对名为“openai”的 HTTPRoute,配置了请求内容正则检查和自定义拒绝响应,实现基础的 Prompt Guard 功能:

apiVersion: gateway.kgateway.dev/v1alpha1
kind: TrafficPolicy
metadata:
  name: openai-prompt-guard
  namespace: kgateway-system
spec:
  targetRefs:
  - kind: HTTPRoute
    name: openai
    group: gateway.networking.k8s.io
  ai:
    promptGuard:
      request:
        customResponse:
          message: "请求因不当内容被拒绝"
        regex:
          action: REJECT
          matches:
          - pattern: "credit card"

部署完成后,开发者即可使用 kubectl 提交 Gateway 和 Route 定义,将指定路径的流量转发到 LLM 或 InferencePool 后端。在推理服务编排场景下,kgateway 充当集群入口的 AI 流量网关,统一提供模型调用的路由、控制与安全防护能力。

kagent:Kubernetes 原生 Agentic AI 框架

kagent 是首个面向 Kubernetes 环境的开源 自主 Agent 框架,致力于帮助平台和 DevOps 工程师构建并运行 AI 智能体,实现云原生场景下的自动化运维和智能决策。2025 年 3 月,Solo.io 宣布开源 kagent 项目,并于当年 KubeCon Europe 表示将其捐献给 CNCF 开源基金会,以在社区推动其发展。kagent 被称为“agentic AI for K8s”,所谓 agentic AI 指的是超越简单问答的智能代理技术,让 AI 系统具备高级推理和递归规划能力,能够自主完成复杂多步骤任务,将洞察转化为具体行动。kagent 正是将这一理念引入云原生领域的先行者,为 Kubernetes 提供一个运行 AI Agent 的基础平台。

kagent 架构与原理

kagent 架构分为三个关键层次:

  • 工具(Tools):指各种 Agent 可调用的功能模块,遵循开放的 MCP(Model Context Protocol) 接口标准。工具可以看作环境的“能力单元”,例如查看 Pod 日志、查询 Prometheus 指标、生成 K8s 资源清单等。kagent 内置了一系列 Kubernetes 环境常用的工具,并允许用户扩展自定义工具。每个工具本质上是一个“MCP 服务器”,Agent 通过标准协议向其发送指令并获取结果。
  • 智能体(Agents):Agent 是自主执行任务的实体,具备规划和连续行动的能力。每个 Agent 可以使用一个或多个工具来达成目标,也可以由多个子 Agent 组成团队:通过一个“规划 Agent”将任务拆解,下发给不同能力的 Agent 协作完成。Agent 基于大型语言模型进行推理决策,即通过调用 LLM 来分析问题、规划步骤,并在得到结果后继续后续行动,直到完成任务。Agent 可以视为一种智能流程自动机,能够解析自然语言指令,调用工具交互真实系统,再将执行结果反馈。
  • 框架与控制器:kagent 提供了简单声明式 API(CRD)和控制器来统一管理 Agents 的生命周期和运行。开发者通过 YAML 定义 Agent 的配置(包括可用工具集合、LLM 提供商、初始提示等),提交到 Kubernetes 后由 kagent 控制器部署执行。kagent 基于微软的 AutoGen 框架构建了执行引擎,负责与 LLM 的对接、工具调用调度以及状态管理。框架层还提供了 CLI 和 Web UI,方便地与正在运行的 Agent 进行交互(例如启动会话、发送指令、查看执行过程)。

下图展示了 kagent 在 Kubernetes 中的架构简图和执行流程:

kagent 框架下 Agent 利用 LLM 和多种工具执行任务的示意
kagent 框架下 Agent 利用 LLM 和多种工具执行任务的示意

关键能力与特点

kagent 将 LangChain 类的Agent 执行模式与 Kubernetes 基础设施相结合,使 AI Agent 能直接感知和操作云原生系统:

  • 云原生操作自动化:借助内置工具库,Agent 可以自动执行许多繁琐的运维任务。例如,判断某服务不可用时,Agent 可调用“K8s API 工具”获取相关 Pod 列表、调用“日志工具”检索错误日志,进一步调用“K8s 操作工具”尝试重启 Pod 或回滚配置等。整个过程在无人干预下完成,大幅减少人为介入。
  • 复杂故障诊断与优化:对于跨越多个组件的复杂问题,Agent 具备多步骤推理能力,可逐步缩小问题范围。比如应用性能下降时,Agent 可以先调用指标工具发现 CPU 飙升,再调用日志工具定位特定报错,最后执行配置调整工具优化资源配额,从检测到缓解全流程自主完成。这种 AgentOps 思路(即 Agent 驱动的运维)提高了问题响应速度和系统稳定性。
  • 支持多 Agent 协同:kagent 支持团队 Agent模式,一个 Planner Agent 可以协调多个 Executor Agent 各司其职。例如在上线流程中,一个 Agent 负责流量切分,一个 Agent 负责数据库迁移,Planner Agent 根据总体目标调度它们按序执行,并在必要时汇总反馈。这种多智能体协作需要可靠的通信机制,kagent 已开始探索集成 A2AAgent-to-Agent)协议来实现不同 Agent 之间的直接对话与配合。Agent 之间或 Agent 与工具之间的通信,可以通过开放标准(如 MCP 协议)确保互操作性和可插拔性。
  • 安全与观测:作为在生产环境运行的自治系统,Agent 的安全治理至关重要。kagent 本身提供了对 Agent 行为的审计追踪、指标上报等支持,并计划与 OpenTelemetry 深度集成,记录每次 LLM 调用和工具执行的链路。另外,通过与 agentgateway 集成(后续介绍),还可进一步为 Agent 调用增加鉴权和访问控制,防范误操作风险。这些机制让运维团队对 AI Agent 的行为“可观测、可控制、可追责”。

使用方式与示例

开发者使用 kagent 构建 Agent 十分简单。官方提供了 kagent CLI 工具及 Helm 部署方式,可一键将 kagent 控制器安装到集群中。在安装前,需要配置好 LLM 接口的凭证(如将 OpenAI API 密钥写入环境变量)。安装完成后,可以按照如下流程创建并运行第一个 Agent:

kagent 创建流程
kagent 创建流程
  1. 定义 Agent CR:编辑 YAML 文件描述 Agent。例如指定使用 GPT-4 模型、加载哪些内置工具(pod 日志、API 资源查询等)以及 Agent 的初始提示词等。应用该 YAML 到集群,会触发 kagent 控制器创建对应的 Agent 实例。
  2. 启动会话:使用 kagent CLI 进入 Agent REPL,选择刚创建的 Agent,之后就能以对话形式向其提交任务。例如输入「查询 kagent 命名空间下运行的 Pod」。Agent 接到指令后,会调用自身工具 GetResources 列出命名空间下 Pod 列表,并以 Markdown 格式给出回答。
  3. 查看过程:进一步可以询问 Agent「你用了哪些工具?」。Agent 会解释其用到了哪些步骤(如调用了哪个 API 资源工具、日志工具等)。通过 CLI 或 UI,可以实时观察 Agent 调用 LLM 的提问、得到的回答、调用工具的参数和结果。这种透明度对于调试 Agent 策略、优化提示词相当有帮助。
  4. 持续运行与触发:Agent 可配置为持续运行,监听特定触发器(例如定时检查系统状态或订阅事件)。一旦触发条件满足,Agent 将自主执行既定任务。例如可以创建一个“故障巡检 Agent”,每隔一小时扫描系统指标,一旦发现异常模式就自动诊断通知。这使 自动化运维AgentOps)成为可能。结合 GitOps 工作流,团队还能将 Agent 定义纳入代码库,实现 Agent 行为的版本管控。

需要注意的是,由于 Agent 的决策高度依赖 LLM 非确定性的输出,在生产使用时应充分测试和设定保护措施(例如限定可调用的工具范围、对关键操作加确认步骤等)。kagent 项目也在探索引入更多反馈机制(如轨迹回放与调试、结果评估等)来提高 Agent 行为的可控性和可靠性。

agentgateway:面向 AI Agent 的原生网关

agentgateway 是 Solo.io 近期开源并捐赠给 Linux 基金会的全新项目,定位为首个 “AI 原生”代理通信网关。它并非传统 API 网关的简单修改,而是专门针对自主智能体的网络通信设计的数据面代理。从功能上看,agentgateway 为 Agent-to-Agent (A2A)Agent-to-Tool 交互提供了开箱即用的安全、可观测和治理能力,支持业界新兴的 A2A 协议MCP 协议 等标准。简单来说,如果把各种 AI Agent 比作微服务,那么 agentgateway 扮演的就是它们之间通信的“服务网格”角色——但它比传统服务网格更进一步,能理解和处理 AI 场景特有的协议和模式。

缘起与设计:在构思 agentgateway 之前,Solo.io 曾考虑直接基于 Envoy 等成熟代理扩展支持 A2A/MCP。但很快发现这些新协议对代理的架构提出了全新的要求,如果强行在 Envoy 上改造成本很高。借鉴 Istio Ambient Mesh 模式下轻量级隧道代理 (ztunnel) 的经验,Solo.io 决定从零开始构建一个专用的数据面代理。agentgateway 因此天生具备针对 AI 场景优化的基因,成为目前业界首个也是唯一从头打造的 AI Agent 通信平面。它体积小巧、无额外不必要功能,并发性能和安全性经过了 Ambient Mesh 生产验证的考验,同时能快速跟进行业涌现的新 AI 协议。正如 Solo.io CEO 所言:“传统 API 网关无法跟上 Agent 架构快速演进的需求,我们打造 agentgateway 来适配 AI 时代的协议、模式和规模,它将成为下一代智能系统的连接枢纽”。

agentgateway 架构与功能

agentgateway 本质上是一个七层代理,部署方式灵活:既可作为集群内的独立网关服务,亦可作为 Sidecar/DaemonSet 为 Agent 或工具提供就近代理。其配置既支持传统的静态配置文件,也计划与 Kubernetes Gateway API 集成以声明式管理。核心功能模块包括:

  • 协议支持:内置对 Agent2AgentA2A)协议和 Model Context Protocol (MCP) 的解析和转发支持。A2A 是由 Google 等提出的 Agent 通信标准,采用 gRPC 等方式让不同框架的 Agent 可以互相交流意图和任务。MCP 则前文提到,用于标准化 Agent 调用外部工具或数据源的接口。agentgateway 能充当这些协议的统一消息交换中心,让多种语言/框架的 Agent 与各种 MCP 工具服务无缝互通。
  • 安全治理:agentgateway 提供了 零信任 思想的安全策略,对所有 Agent<->Tool 调用进行鉴权、认证和审计。例如,可以为不同 Agent 分配身份凭据,实现跨服务的身份认证和基于角色的访问控制(RBAC)。又如,针对敏感工具(数据库操作等)设置细粒度授权策略,只有特定 Agent 或经过审批的请求才能调用。所有交互请求和结果都可以集中记录,方便事后审计追溯。通过这样的政策集中管控层,企业能够放心地大规模引入 AI Agent 而不失去对关键系统的管控。
  • 可观测性:agentgateway 与 OpenTelemetry 深度集成,每一次 Agent 间对话、Agent 调用工具或模型的行为都可以被追踪和记录。它将每个请求 - 响应对视作可监测单元,形成所谓“AI 调用链”日志,帮助团队了解哪个 Agent 在何时发起了什么请求,调用了哪个工具,得到了什么结果。这种全栈可观测性对于调试复杂 Agent 系统和建立信任至关重要。此外,agentgateway 还能汇总性能指标(如请求延迟、成功率、各工具调用频次等)供运维监控,及时发现异常交互模式。
  • 工具注册与联邦:agentgateway 引入了工具联盟Tool Federation)的概念,可将多个 MCP 工具服务通过它暴露为单一的统一 MCP 入口(这与 rube 这个产品的思路类似)。这意味着 Agent 只需对接一个 agentgateway 地址,即可访问到背后不同来源、不同类型的众多工具。agentgateway 维护一个集中工具注册表,支持工具的发现和版本管理,避免 Agent 需要配置繁杂的多个外部接口。对于已有的 REST API 服务,agentgateway 还能根据其 OpenAPI 描述自动封装成 MCP 接口,让这些遗留服务立刻成为 Agent 可用的工具。这有效解决了 “工具蔓延” 难题,不需要为每个外部系统单独写 Agent 适配,降低了大规模集成的复杂度。

下图展示了 agentgateway 在多 Agent 与多工具环境中的作用:

agentgateway 联通多个 Agent 与多种工具/模型,充当统一通信与治理中枢
agentgateway 联通多个 Agent 与多种工具/模型,充当统一通信与治理中枢

企业实战场景

agentgateway 的诞生正是为了解决企业在落地 Agentic AI 时遇到的“看不见、管不着、不安全”困境。以下是几个典型使用场景:

  • Agent 通信总线:在一个复杂 AI 工作流中可能涉及不同类型的 Agent,相互之间需要交流任务意图或传递信息。例如一个决策 Agent 需要询问一个领域专家 Agent 获取建议。通过 agentgateway,各 Agent 之间可以用标准协议通信,代理确保消息送达并应用安全策略。例如只允许可信 Agent 发出的 A2A 消息通过,或对消息内容做审查。agentgateway 成了多 Agent 系统的消息中枢防火墙
  • 跨团队工具共享:大企业中不同团队可能开发了各自的 Agent 及其专用工具。如果每个 Agent 只能直接耦合自家工具,将造成重复建设和信息孤岛。引入 agentgateway 后,所有工具统一注册管理,不同 Agent 都能按权限访问所需工具。这实现了MCP 工具的联邦共享:比如知识库搜索工具由知识管理组提供,运维 Agent 也可通过 agentgateway 访问该工具查询信息。企业可以逐步积累沉淀工具资产库,而 agentgateway 负责把关访问权限和使用监控。
  • 敏感操作审计与控制:某些 Agent 可能有执行敏感操作(删库、关机等)的能力,一旦滥用后果严重。通过 agentgateway,运维团队可在 Agent 调用这些高危 Tool 时增加强制交互或审批流程。例如当 Agent 尝试调用“删除资源”工具时,agentgateway 截获请求并触发外部审批(通过 Webhook 等),只有获批后才放行调用。同时,这些关键操作都会记录日志,形成完善的审计追踪。这样既避免阻碍 Agent 的一般自动化能力,又对关键行为做到了“事前有监管,事后可追溯”。
  • 统一可视化运维:agentgateway 还提供了一个开发者门户(Developer Portal)概念,集中展示系统内的所有 Agent 和工具。运维人员可通过 UI 界面方便地查看当前有哪些 Agent 在运行、各自连接了哪些工具,每个工具的健康状态如何等。遇到问题时可以在门户中直接调试某个 Agent 的调用(例如模拟一条 A2A 消息或 MCP 请求看看回应),相当于给 AI 基础设施配备了可视化的运维控制台。这大大降低了使用 AI Agent 的门槛和维护成本。

部署与集成

当前 agentgateway 提供了独立的可执行程序,用户可以通过一条脚本命令下载安装。随后使用 YAML 配置文件定义监听端口、后端工具地址等,即可启动代理服务。针对 Kubernetes 环境,agentgateway 也支持与 kgateway 集成:例如可将 agentgateway 注册为 kgateway 的一个自定义后端,从而利用 Gateway API 来动态配置 agentgateway 的路由。未来,agentgateway 作为 CNCF 沙箱项目,将完善 Kubernetes 原生部署支持,可能以 Operator 形式提供。实际上,agentgateway 的设计初衷之一就是能与 kagent、kmcp 等周边组件无缝协作:kagent 产生的 Agent 调用若经过 agentgateway,就能立即获得安全和治理加持;kmcp 部署的工具如果通过 agentgateway 发布,就立刻拥有统一鉴权入口等。可以预见,一个完善的 “AI 代理通信网” 将由 agentgateway 充当核心枢纽,将所有 Agent、工具和模型连接起来,发挥出 1+1>2 的协同效应。

kmcp:MCP 服务开发与运维工具集

kmcp 全称“Kubernetes Model Context Protocol”工具集,是 Solo.io 开源的一套围绕 MCP 生态的 轻量开发运维工具。在 AI 应用中,MCP 工具服务器(提供特定功能供 Agent 调用)如雨后春笋般出现,但从原型代码演进到可生产部署并非易事。kmcp 正是为了解决这一痛点而生:它为开发者提供从代码脚手架、镜像构建到集群部署、发布管理的一站式支持,加速 MCP 工具服务从开发到上线的全过程。

kmcp 核心功能

kmcp 工具链聚焦于提高 MCP Server 开发部署效率,提供以下主要能力:

  • 项目脚手架:通过 kmcp init 命令,开发者可以快速生成一个预置模版的 MCP 服务工程。kmcp 内置多种语言和框架模板(当前支持 Python FastAPI、Go-kit 等,规划支持 TypeScript、Java 等)。脚手架会搭建好项目目录、依赖配置、测试样例、Dockerfile 等,让开发者专注于实现具体工具逻辑。这样可确保不同开发者创建的 MCP 服务在结构上遵循统一最佳实践,便于后续维护。
  • 镜像与发布:完成编码后,只需一条 kmcp build 命令即可打包容器镜像,并支持跨架构构建。然后使用 kmcp deploy 将镜像部署到 Kubernetes 集群。deploy 支持两种传输模式:stdio(标准输入输出)模式和 HTTP Streamable 模式。前者用于 Agent 本地直接调用进程,后者用于将服务作为远程 API 提供多 Agent 共同调用。通过参数,用户可以选择部署命名空间、服务端口、环境变量等,甚至可以使用 --dry-run 输出 Kubernetes 清单文件以纳入 GitOps 流程。值得一提的是,kmcp deploy 会自动打开一个“MCP Inspector”调试界面,方便开发者测试新部署服务的功能。
  • Kubernetes 原生集成:kmcp 将 MCP 服务转变为集群一等公民。运行 kmcp install 会在集群中部署一个 kmcp 控制器,并注册 MCPServer 自定义资源定义(CRD)。之后每次 kmcp deploy,都会创建对应的 MCPServer 资源来表示该服务,并由控制器负责维护其生命周期和配置。例如控制器可根据 CR 自动创建 Deployment、Service 等,实现服务自愈和滚动升级。借助 Kubernetes 的机制,企业可以像管理其他工作负载一样管理 MCP 工具服务,实现声明式部署和监控。
  • 安全与治理集成:kmcp 部署的服务天然支持与 agentgateway 对接。具体来说,kmcp 提供选项将 agentgateway 的安全代理侧车注入 MCP 服务 Pod,或注册服务到 agentgateway 的工具目录中。这样,开发者无需手工编写任何集成代码,新工具就自动具备了 agentgateway 提供的鉴权、流量控制和观测能力。例如,可以直接对某个 MCPServer 施加安全策略(通过 agentgateway),限制哪些 Agent 可以调用它、每分钟调用次数等。这种开箱即用的治理让 MCP 工具在企业环境的落地更加平稳可控。

下图展示了 kmcp 从开发到部署的流程:

kmcp 加速 MCP 工具服务从开发到部署,并与 Agent/agentgateway 集成
kmcp 加速 MCP 工具服务从开发到部署,并与 Agent/agentgateway 集成

使用示例:假设我们需要开发一个天气查询工具,让 Agent 可以获取实时天气。使用 kmcp,只需几步:

  1. 初始化项目:运行 kmcp init python my-weather-server --author "Your Name" --email "[email protected]"。kmcp 将生成一个名为 my-weather-server 的 Python FastAPI 项目,内含基本的查询接口实现和测试用例。
  2. 实现逻辑:打开生成的项目,在指定位置编写实际调用天气 API 的代码。由于模板已处理好 MCP 协议交互细节,你只需专注于拿到请求参数去调用第三方天气 API,然后将结果返回即可。
  3. 构建与发布:执行 kmcp build --tag my-weather:v1.0 生成容器镜像。确认无误后,运行 kmcp deploy --image my-weather:v1.0 --namespace tools --port 3000 将服务部署到 Kubernetes 集群。首次部署前别忘了运行一次 kmcp install 安装控制器和 CRD。
  4. 测试和注册:部署完成后,kmcp 会打开“MCP Inspector”。你可以通过它直接向 my-weather-server 发送 MCP 请求进行测试,例如查询某城市天气,验证响应格式正确。接着,如果你的集群已部署 agentgateway,可将此工具注册进去,或直接将服务地址配置给 Agent 使用。现在,任何 Agent 便可通过标准 MCP 接口调用这个天气工具了。

注意事项

使用 kmcp 开发 MCP 服务时,应尽量遵循无状态、快速启动的原则,以适应按需扩展和弹性调度。同时,由于 MCP 工具通常会被 Agent 频繁并发调用,要确保实现中适当缓存或限流,避免后端 API 配额耗尽。kmcp 本身提供了一些参数用于设置副本数、资源请求等,可根据工具的性能要求进行调整。在安全方面,如果工具需要调用外部 API,切记不要将密钥硬编码在镜像中,最好通过 Kubernetes Secret 挂载并在 kmcp 部署时以环境变量注入。在企业实际落地中,通过 kmcp 打造的 “工具即服务” 生态,可以让不同团队协作开发各类能力模块,并由平台团队通过统一网关(agentgateway)进行治理,实现 AI 功能的模块化和可组合。

与现有主流方案的对比

Solo.io 这一系列项目在理念和功能上都有创新之处,那么它们与传统方案如 Apache APISIX、Kong Gateway 以及 Kubernetes Gateway API 原生实现相比有什么差异呢?以下从几个角度进行对比:

  • AI 原生支持:最显著的区别是 Solo.io 的方案针对 AI 应用场景 做了专门优化。例如 kgateway 内建 Prompt Guard 内容安全和 LLM 请求负载均衡等功能,而 APISIX、Kong 作为通用 API 网关并不具备这些 AI 特定能力,需要借助自定义插件二次开发才能实现。再比如 agentgateway 支持 A2A、MCP 等新兴协议,能够监控和管理 Agent 调用链路,而传统 API 网关对这些自定义协议并无支持。总的来说,Solo.io 项目预见了由 API 调用转向 Agent 协作的趋势,在架构上提前布局,而 APISIX/Kong 等主要仍定位于经典请求 - 响应的 API 流量管理。
  • 开放标准对齐:Solo.io 项目高度拥抱开放标准,例如 kgateway 完全遵循 Kubernetes Gateway API 规范,并在其上扩展推理服务能力;kagent/agentgateway 则实现和推动 Agent2Agent、MCP 等开放协议标准。反观一些传统方案,各自为政的色彩更重。Kong/APISIX 虽逐步开始支持 Gateway API,但仍有许多自有配置和插件体系。Solo.io 选择用开放协议构建生态,意味着更强的互操作性和社区协作,避免厂商锁定。
  • 数据面技术栈:kgateway 建立在 Envoy Proxy 之上,利用其强大的 L7 处理和扩展能力。相比之下,Kong 和 APISIX 传统上基于 Nginx/OpenResty,虽然性能优秀但在扩展现代流量模式(如 gRPC 流式、WebSocket、HTTP/2 等)时灵活性略逊。而 Envoy 作为云原生代理被认为更具未来适应性。例如,对于与 LLM 的交互需要处理流式输出(Server-Sent Events),Envoy 已有成熟支持,而 Nginx 上实现可能需要定制开发。值得一提的是,Kong 已推出基于 Envoy 的数据面选项,但 Solo.io 团队在 Envoy 领域经验丰富,使 kgateway 控制面性能调优等方面更胜一筹。
  • 性能与可伸缩性:据 CNCF 公告,kgateway 的控制平面是业界最快速、最节约资源的 Envoy 控制平面之一。它能在大规模路由规则下仍保持低延迟的配置下发和热更新能力。这对动态的 AI 流量场景尤为重要。另外,agentgateway 继承了 ztunnel 的极简高效基因,在高并发 Agent 通信下表现出色。传统 API 网关在面对突发的大量长连接(如同时上百个 Agent 长链路对话)时,可能更容易成为瓶颈。Solo.io 项目在性能设计上从一开始就针对这些模式做了优化。
  • 成熟度与生态:不可否认 APISIX、Kong 作为老牌网关,在 API 管理领域有丰富的功能和插件生态,比如认证、缓存、转换各种现成插件。而 kgateway 等目前在 API 管理的广度上可能不及前两者(毕竟一些高级 API 管理功能仍在快速迭代中)。然而在 AI Gateway 这个新赛道上,各方案都在起步阶段:APISIX 近期也宣布了 AI Gateway 模式支持,但更多是流量转发层面的改进;Kong 则鲜有 AI 专项功能公布。Solo.io 的方案胜在专注和先发,尤其与自家 kagent、agentgateway 形成闭环,构筑了一个 AI 原生的整体平台。这种上下游协同是单纯一个网关产品所无法提供的。

综上,Solo.io 的 kgateway、kagent、agentgateway 等在 AI 应用落地方面提供了传统方案所不具备的新能力,适合有前瞻性地布局 AI 基础设施的团队。当然,对于仅需要经典 API 网关功能且追求成熟稳定的场景,APISIX/Kong 等依然是可靠选择。但可以预见,随着企业从“调 API”转向“用 Agent”的范式转变,加上开源社区对 A2A、MCP 等标准的推动,Solo.io 这套新兴方案有望引领下一代云原生架构的发展方向。

总结与适用人群

Solo.io 开源的这四大项目从不同层面完善了 “Kubernetes + AI” 应用的基础设施版图:kgateway 提供统一入口的 AI 流量网关,强化了对 LLM 调用的治理和优化;kagent 将智能 Agent 引入集群,赋能自动化运维和复杂任务执行;agentgateway 打造了面向 Agent 交互的新型网络平面,解决了安全与治理难题;kmcp 则填补了工具服务开发运维的链路,让 AI 能力模块化交付成为可能。它们相辅相成,共同构建出一个面向 AI 原生应用的云原生技术栈。

这套方案推荐给以下人群和场景使用:

  • 平台工程团队 / DevOps 团队:如果你正探索将 ChatGPT 等大模型引入运维、监控领域,用于智能故障诊断、自主运维(AgentOps)等,那么 kagent 和 agentgateway 非常适合你。它们能帮助平台团队以受控方式部署 AI Agent,提高运维自动化程度的同时不失去对系统的可控性。
  • AI 开发与架构团队:对于构建复杂 AI 应用(例如多 Agent 协作的业务流程,或需要调用各种工具的数据智能应用)的团队,Solo.io 项目提供了完整的支撑平台。从接入大模型的网关(kgateway),到编排智能体和工具(kagent + agentgateway),再到沉淀复用 AI 工具(kmcp),可以加速开发进程、减少底层重复造轮子。
  • 对新技术敏感的初创公司:如果你正在开发 AI 原生的创新产品(如对话式 BI、多模态助手等),希望在 Kubernetes 上快速试验各种想法,那么这些项目可以作为开源加速器。它们通过开箱即用的能力(例如 PromptGuard、InferencePool、A2A 通道),让小团队也能构建过去需要大厂投入才能实现的复杂功能。
  • 大型企业 IT 部门:对于有严格安全合规要求的大型组织,引入 AI 时往往担心数据泄露、权限失控等问题。agentgateway 的政策管控、审计和统一入口,使你可以放心地让不同部门开发的 Agent 和工具在受监管的环境中协同工作。此外,kgateway 作为 API 网关的升级方案,也能逐步替换或集成现有 Ingress 控制器,平滑地增加 AI 流量管理能力。

需要强调的是,目前这些项目大多仍处于快速迭代阶段(kagent、agentgateway 刚捐赠社区不久),在生产落地前建议充分测试评估,关注官方更新路线。但可以肯定的是,随着 AI 技术与云原生的进一步融合,“AI 即服务”的基础设施需求会日益增长。Solo.io 的开源探索为业界提供了宝贵的思路和工具。对于希望站在技术前沿的团队,不妨尝试引入这些项目,在实践中总结经验、反馈社区,共同完善这一生态。未来,借助这些开源利器,让 Kubernetes 更智能、更自动化 将不再是遥远的愿景。正如 CNCF 专家所指出:“未来的软件将是 Agent 驱动的”,现在就是参与构建这一未来的好时机。

参考资料

  1. Bringing Agentic AI to Kubernetes: Contributing Kagent to CNCF - solo.io
  2. Celebrating 100 Days of Kagent - solo.io
  3. Introducing kmcp for Enterprise-Grade MCP Development - solo.io
  4. Enterprise Challenges With MCP Adoption - solo.io
  5. What Is MCP (Model Context Protocol)? - solo.io
  6. Kgateway – The Next-Gen Gateway for Kubernetes, AI, and Agents - cncf.io
  7. Kgateway | CNCF Project Page - cncf.io
  8. Dive into Basic Prompt Guardrails with kgateway - kgateway.dev
  9. Deep Dive into the Gateway API Inference Extension - kgateway.dev
  10. Smarter AI Inference Routing on Kubernetes with Gateway API Inference Extension - kgateway.dev
  11. Prompt guards (AI Gateway) - kgateway.dev
  12. Inference Extension (Docs) - kgateway.dev
  13. Agentgateway — Agent Connectivity Solved (Homepage) - agentgateway.dev
  14. Welcome (Docs Home) — agentgateway - agentgateway.dev
  15. Get started (Quickstart) — agentgateway - agentgateway.dev
  16. Solo.io Contributes agentgateway to Linux Foundation to Make AI Agents More Accessible, Capable, and Secure - agentgateway.dev
  17. Linux Foundation Welcomes Agentgateway Project to Accelerate AI Agent Adoption While Maintaining Security, Observability and Governance - linuxfoundation.org
  18. Linux Foundation Newsletter: July 2025 — Agent2Agent Protocol Launch - linuxfoundation.org

文章导航

评论区