人工智能和开发者工作流程被大肆炒作,但说到 Kubernetes,却鲜有进展——这是有原因的。你希望你的基础设施稳定,而 Vibe 编码并不以稳定性著称。
想象一下,每次部署时你的配置都要重写。即使是像添加一个环境变量这样的小改动,也可能滚雪球般导致系统崩溃。因为你的法学硕士 (LLM) 认为你确实需要几个额外的节点,而你只是想升级 Docker 镜像版本。
什么是 MCP 服务器?
去年年底,Anthropic 推出了开源模型上下文协议 (MCP),作为 AI 代理与第三方服务和 API 交互的一种方式。MCP 的主要目标是标准化 AI 代理与数据和服务交互的方式。
借助 MCP 服务器,您的 AI 代理可以安全地代表您行事* 。 * 现在,它们知道可以使用什么了,而不必猜测要调用哪些 API 端点或列出可能起作用或不起作用的 CLI 的可能命令。
此外,使用 MCP 服务器,您的代理可以感知您正在使用的工具的状态。这意味着它现在可以知道可以使用哪些 Grafana 仪表板、您在 GitHub 上存储了哪些代码库,或者 Docker 镜像有哪些可用的标签。只有数据,没有幻觉和虚构的上下文。
对于每个模型和 AI 代理,您可以配置它们应连接到哪些 MCP 服务器,以便代表您执行操作。对于我上面提到的每个供应商(Grafana、GitHub 和 Docker),都有一个对应的 MCP 服务器,用于将代理请求转换为上述提供商上的实际操作。
由于 Cyclops 致力于让开发人员的生活更轻松,我们实现了自己的 MCP 服务器,您可以将其安装到 Kubernetes 集群中并使用自然语言部署您的应用程序。
Cyclops MCP
在 GitHub 上查看 Cyclops MCP
Cyclops 本身是一个工具,用于将您的 Kubernetes 配置抽象到一个可自定义且简洁的 UI 背后。在底层,所有 Cyclops 应用都可以定义为 Kubernetes 对象。为了定义应用,Cyclops 引入了一个名为 Module 的 Kubernetes CustomResourceDefinition。
当开发者通过 Cyclops 的 UI 创建应用程序时,Cyclops 后端会创建一个模块实例。Cyclops MCP 提供了tools模块管理工具以及用于创建模块的模板。
Cyclops MCP 并没有将 DevOps 排除在外——DevOps 工程师负责创建模板并确保应用程序遵循最佳实践。通过模板,DevOps 工程师将定义需要创建哪些底层 K8s 资源,以及开发人员和 AI 代理在部署应用程序时应遵循哪些配置。
现在,您可以让 AI 代理使用自然语言部署您的应用。它会将您的请求转换为符合 DevOps 工程师架构的配置,从而确保最佳实践和生产就绪状态。
先决条件
试用 Cyclops MCP 的先决条件是:kubectl安装并运行一个 Kubernetes 集群,并在集群中安装 Cyclops。如果您没有正在运行的集群,可以使用Minikube创建一个。
要在集群中安装 Cyclops,请运行以下命令:
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.1/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.1/install/demo-templates.yaml
它将创建一个名为的新命名空间 cyclops ,并部署 Cyclops 实例运行所需的一切。
现在剩下的就是将 Cyclops 服务器暴露到集群之外:
kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
您现在可以通过浏览器通过 http://localhost:3000访问 Cyclops 。
安装 Cyclops MCP
如果您正在运行 Cyclops
v0.20.1或更高版本,您可以通过侧边栏"Addon">来安装 Cyclops MCP"MCP server"。现在,您可以点击"Install Cyclops MCP server",您的 Cyclops MCP 服务器将在几秒钟内启动并运行。
或者,如果您正在运行之前的 Cyclops 版本v0.20.1,则可以使用以下命令安装 Cyclops MCP:
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/mcp-cyclops/refs/heads/main/install/mcp-server.yaml
现在您的 MCP 服务器已启动并运行,剩下的就是将其暴露到集群之外并将您的 AI 代理连接到它。
要在本地主机上公开 MCP 服务器,您只需使用以下命令进行端口转发即可:
kubectl port-forward -n cyclops svc/cyclops-mcp 8000:8000
您的服务器现在可以在 上使用localhost:8000。要将其连接到 AI 代理,您只需在其配置中提供 Cyclops MCP 服务器即可。例如,要将其添加到 Cursor,您可以使用以下 JSON 代码添加:
{ "mcpServers": { "mcp-cyclops": { "url": "http://localhost:8000/sse" } } }现在,您可以与您的 AI 伙伴开始新的对话。以下是我们如何将其与 Cursor 结合使用的示例。您可以随时在 Cyclops 中查看所有已部署的应用程序,也可以从 UI 中进行编辑。
Kubernetes MCP
在结束之前,我们必须先明确一个问题:“是否有一个 Kubernetes MCP 服务器可以用来直接与我的集群通信?” -有!
然而,这里有一个很大的警告。通过 Kubernetes MCP 的实现,你将允许你的 AI 代理部署底层资源,例如 Deployment、Service、Ingress 等等。每个公司(甚至 Kubernetes 集群)对于使用什么技术以及如何部署应用程序都有自己的具体要求。
当你告诉代理“将我的应用程序暴露到集群之外”时,它可以通过多种方式执行。AI 代理可以生成新的 Ingress,但这可能与一周前暴露另一个应用程序的方式不同,从而导致集群不一致。
代理在部署应用程序时不会遵循最佳实践,这可能会导致配置错误、生产中断或安全漏洞。
Kubernetes 非常复杂,并且其设置方式因集群而异 - 因此,AI 代理无法始终为您的情况提供正确的配置。
最后的想法
我们相信,人工智能正在开发者工作流程中找到自己的位置,但应该有一定程度的抽象和验证,以使其能够发挥作用并尽可能确保其安全。这是我们朝着这个方向迈出的第一步。

