oeDeploy 专题3:基于 MCP 的软件部署效率提升

oeDeploy 专题3:基于 MCP 的软件部署效率提升

在前几期专题中,我们介绍了 oeDeploy 的两个应用案例(专题 1专题 2),oeDeploy 可帮助开发者快速完成软件部署与开发环境搭建。

随着大模型的快速发展以及近期 MCP 协议的兴起,我们的开发模式正迅速向自动化、智能化演进。

本期专题,我们将演示如何结合 oeDeploy 与 MCP,进一步提升开发者的安装部署效率。

配置 oeDeploy MCP Server

MCP 全称为模型上下文协议(Model Context Protocol,MCP),用于实现大语言模型(LLM)与外部数据源及工具链之间的连接。

这就像 LLM 这个聪明的大脑,通过 MCP 这双灵活的手,能够处理更多复杂的任务。而 oeDeploy 就是这双手所使用的工具套件,使 LLM 能够更高效地协助用户解决安装与部署问题。

在本示例中,我们使用 VS Code 上的开源工具 Roo Code 作为交互界面,开发环境为 OpenAtom openEuler(简称 openEuler)24.03 LTS。

步骤 1:配置大模型 API

从 DeepSeek 官网或其他大模型服务提供商获取 API 密钥,并在 Roo Code 的设置页面中完成配置。配置完成后,可通过简单对话测试 API 是否正常工作。

步骤 2:准备 oeDeploy MCP 环境

从 oeDeploy 代码仓库下载 MCP Server 相关文件,并保存至自定义路径,例如 ~/.oedp/mcp/

mkdir -p ~/.oedp/mcp/
git clone https://gitee.com/openeuler/oeDeploy.git
cp oeDeploy/doc/DevelopGuide.md ~/.oedp/mcp/
cp oeDeploy/oedp-mcp/mcp-oedp.py ~/.oedp/mcp/
cp oeDeploy/oedp-mcp/mcp-make-oedp-plugin.py ~/.oedp/mcp/

安装 Python 依赖。当前示例使用 pip 安装至系统 Python 环境,但更推荐使用 uv 在虚拟环境中安装。

pip install pydantic mcp --trusted-host mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple

步骤 3:启动 MCP Server

在 Roo Code 的 MCP 配置页面中,点击【编辑项目配置】,添加以下 JSON 配置:

{
  "mcpServers": {
    "mcp-oedp": {
      "command": "python3",
      "args": [".oedp/mcp/mcp-oedp.py"],
      "disabled": false,
      "alwaysAllow": []
    },
    "mcp-make-oedp-plugin": {
      "command": "python3",
      "args": [".oedp/mcp/mcp-make-oedp-plugin.py"],
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

若配置成功,可在 MCP 列表中看到两个新增的 MCP Server,且状态指示灯显示为绿色。

其中:

  • mcp-oedp 提供 oeDeploy 基础命令的 MCP 调用能力;
  • mcp-make-oedp-plugin 可帮助用户自动生成一个自定义的 oeDeploy 插件。

请根据实际情况调整 Python 脚本路径。若 MCP Server 状态异常,请根据提示信息检查 Python 依赖是否满足。

用自然语言完成 Kubernetes 集群部署

接下来,我们将通过对话方式,让 LLM 借助 oeDeploy 插件能力,快速完成 Kubernetes 集群的部署。

在 Roo Code 的对话窗口中输入以下指令:

用oeDeploy一键部署kubernetes
master节点ip为192.168.0.36,root密码为xxxxxxx,架构为amd64,oe版本为24.03-LTS
第1个worker节点ip为192.168.0.209,root密码为xxxxxxx,架构为amd64,oe版本为24.03-LTS
第2个worker节点ip为192.168.0.166,root密码为xxxxxxx,架构为amd64,oe版本为24.03-LTS

LLM 将自动选择合适的 MCP Server,完成对应 oeDeploy 部署插件的下载、初始化、参数配置,并执行一键部署。

根据用户描述,LLM 会自动调整 Kubernetes 部署相关的配置参数。

随后,LLM 将自动生成 oeDeploy 部署命令行,用户确认后在本地执行,即可完成一键部署。

整个过程仅耗时约 5 分钟,即可在本地快速搭建起一个 Kubernetes 环境,且用户几乎无需了解 oeDeploy 或 Kubernetes 的底层知识,使用门槛极低。

仅需 3 分钟,将文档转换为新的安装部署插件

接下来,我们希望在已部署的 Kubernetes 集群上部署一个 PyTorch 开发环境。

我们找到一篇符合要求的部署文档,其方案是通过 kubectl apply 方式启动 PyTorch 镜像。

与以往的手动操作不同,我们直接将该文档交给 LLM,输入以下指令,让 AI 自动为我们开发一个 oeDeploy 部署插件:

在~/.oedp/目录下开发一个oeDeploy插件pytorch。
说明:
1. oeDeploy插件配置文件中仅配置单个节点,IP为127.0.0.1,用户名root,密码xxxxxx@123
2. 当用户执行install操作时,根据文档 @/auto-pytorch.md 执行部署操作
3. 端口号、镜像地址等参数在oeDeploy插件配置文件中可以配置

在 MCP Server 的引导下,LLM 将自动阅读 oeDeploy 开发文档,并根据用户需求完成插件开发。整个过程仅需 3 分钟,用户无需熟悉 oeDeploy 的规则,即可快速创建属于自己的部署插件。

最后,我们再次使用自然语言指令,快速完成 PyTorch 开发环境的部署。

结语

在上述示例中,MCP 与 oeDeploy 的结合显著提升了软件部署效率,使开发流程更加高效、智能。

欢迎访问 oeDeploy 代码仓,探索更多有趣的应用场景。

oeDeploy 代码仓:https://gitee.com/openeuler/oeDeploy