已开启
[Feature-Request|需求反馈]: 基于 Docker 的单容器与多容器服务部署 #549
高鹏创建于  9 天前
高鹏
高鹏成员
9 天前 创建

在您提交issue前,请确认以下信息:

背景信息

MindIE Motor 当前主要通过 Kubernetes deployer 完成服务化部署。在单机或无集群环境中,用户仍需自行编写 docker run、准备 configmap 与启动脚本,单容器与多容器步骤不统一,部署成本高。

本需求在不依赖 Kubernetes 的前提下,提供基于 Docker 的服务部署能力:使用同一套 user_config.json / env.json,通过 examples/deployer/docker_deploy.py 创建容器并拉起推理服务,覆盖单容器(单机)与多容器(多机)两种形态,并配套更新单容器/多容器部署指导。

需求来源

社区自规划。

价值/作用

  1. 单容器:一台服务器、一个容器内完成 PD 分离或 PD 混部,适用于小模型(权重小于 100GB)场景。
  2. 多容器:管理面与推理面分容器部署,适用于多机;管理面容器不挂载 NPU。
  3. 使用官方镜像或基于 vllm-ascend 构建的镜像即可部署,配置可复用 examples/infer_engines/vllm 下的典型配置。
  4. 服务就绪后,经 Coordinator 北向 OpenAI 兼容接口验证(单容器默认 http://127.0.0.1:1025/v1/chat/completions;多容器使用管理面所在节点 IP 与端口 1025)。

设计方案

  1. 新增 docker_deploy.py 作为 Docker-only 入口(--config_dir 指向配置目录):
    • 默认(不指定 --create / --start):创建容器并立即拉起服务,日志在当前终端输出。
    • --create:只建容器,进入 bash,不拉起服务。
    • --start:已在容器内时只拉起服务。
    • 一键与 --start 须指定 --pod-ip--nic-name;同名容器已存在则拒绝覆盖。
  2. 单容器不加 --rolemotor_deploy_config.deploy_modesingle_container。多容器按 --role coordinator,controller / prefill / decode / union / kv_store 拆容器,管控面不挂 NPU,管理面与推理面不得同容器。
  3. 新增 lib/docker_utils.pylib/in_place_run.py:配置解析、角色与网络身份、configmap / start_motor.sh 渲染、容器内启停(Ctrl+C 只停 Motor/vLLM,保留交互 bash)。
  4. 更新 startup/set_env_docker.py,不引入 PyYAML;重写单容器、多容器部署指导并补充流程图。

业务代码已合入 https://gitcode.com/Ascend/MindIE-Motor/merge_requests/871 。部署指导与契约测试见 https://gitcode.com/Ascend/MindIE-Motor/merge_requests/883

自验证:推理成功,且可以通过容器内、容器外两种方式反复拉起。
多容器PD分离

image.png

多容器PD混部

image.png

单容器PD混部
image.png

单容器PD分离
image.png

感谢您的贡献 🎉!

likedislike
ascend-robotascend-robot成员
9 天前 添加了label:feature
此处折叠了5条事件消息 查看更多
高鹏高鹏成员
9 天前 修改了issue 的描述
wangyang
wangyang成员
9 天前 评论:

👋 您好,感谢向 mindie-motor 提交 Issue!
🎉 我们已收到您的反馈,感谢你对开源社区的支持!

📅 处理时效 维护团队将在工作日 24 小时内查看并回复您的问题。
🔍 自助排查(推荐优先查看) 在等待回复期间,您可以先查阅仓库README以及历史 Issue 中相似问题的解决方案,多数问题可快速解决。
💡 为了更快定位问题,请您确保 Issue 包含:

清晰的问题描述
可复现的操作步骤
相关日志、截图或环境信息
我们会尽快跟进,感谢您的理解与配合!

likedislike
高鹏高鹏成员
8 天前 关联了pull request:[docs] docker only:部署指导与契约测试
此处折叠了10条事件消息 查看更多
高鹏高鹏成员
1 天前 关联了pull request:[docs] docker only:补充 --create/--start 分步部署并精简容器内命令