已开启
【RFC】InferNex 一键部署 Skill(infernex-deploy) #153
xinhongchen创建于  8月21日
xinhongchen成员
8月21日 创建

1. 背景与动机

InferNex 基于 K8s 和 Helm 部署,涉及多个组件及复杂的依赖与拓扑关系,整体部署流程较长,组件就绪状态也存在一定的时序要求。当前部署过程对使用者的 K8s、Helm 及 InferNex 组件知识要求较高,遇到部署异常时还需要结合日志、状态及组件依赖进行排查,手工操作成本较高。

本 RFC 提议提供AI 辅助部署 InferNex Skill,将 InferNex 的部署流程、组件依赖、配置要求及常见问题处理方式进行结构化封装,为 AI 辅助部署、状态检查与问题排查提供统一能力,降低 InferNex 的部署门槛。

2. 目标

提供 AI 辅助 InferNex 全生命周期管理能力,覆盖预检验、安装部署、升级与卸载:

  • 预检验:评估软件环境(集群、前置组件、配置)与硬件环境(NPU、卡间连通性等)是否满足部署要求,未通过则阻止安装。
  • 安装部署:根据用户指定的模型、拓扑与规模完成 InferNex 首次部署,并验证推理服务可用。
  • 升级:对已有 InferNex 实例进行版本升级或配置变更,并完成升级后的状态验证。
  • 卸载:根据用户选择的卸载范围安全移除 InferNex,避免误删集群中的共用组件。

3. Skill 框架

SKILL.md(入口)
  ├── references/          分场景操作手册
  │     ├── 部署流程        安装 / 升级 / 等待 / 验证 / 卸载 / 续跑
  │     ├── 预检验          软件与硬件检查项、修复策略
  │     ├── 配置规则        用户意图 → 拓扑与 values 变更
  │     └── 交互规范        点选确认、权限、敏感信息采集
  ├── scripts/             可复用脚本(确定性逻辑)
  │     ├── 依赖准备        Chart / checker 等资产拉取与缓存
  │     ├── 就绪等待        长耗时部署的状态轮询与 checkpoint
  │     └── 辅助计算        NPU 容量、命名 slug 等
  └── .infernex/deploy/<ts>/   单次部署运行时产物(可续跑、可审计)

生命周期:预检 → 安装/升级 → 验证;独立 卸载 路径。具体步骤见 skill 内流程文档。

3.1 预检/部署/升级

sequenceDiagram
    actor User as 用户
    participant Agent as AI Agent
    participant System as InferNex / K8s

    User->>Agent: 部署 / 升级请求

    Note over User,Agent: 配置准备与确认
    Agent->>User: 准备配置 + 用户确认
    User-->>Agent: 确认

    Note over Agent,System: 预检验
    Agent->>System: 执行预检
    System-->>Agent: 预检报告
    Agent-->>User: 返回预检报告

    alt 预检通过
        User->>Agent: 确认继续

        Note over Agent,System: 安装 / 升级
        Agent->>System: 安装 / 升级

        Note over Agent,System: 等待就绪与验证
        Agent->>System: 等待就绪 + 推理验证
        System-->>Agent: 验证结果

        Agent-->>User: 返回安装 / 升级结果报告
        User->>Agent: 确认结果正确

    else 预检未通过
        Agent-->>User: 返回问题报告 + 修复建议
        User->>Agent: 修复 / 取消
    end

    Note over User,System: 长耗时阶段支持 checkpoint,中断后可续跑

3.2 卸载

sequenceDiagram
    actor User as 用户
    participant Agent as AI Agent
    participant System as InferNex / K8s

    User->>Agent: 卸载请求

    Note over User,Agent: 选择卸载范围与确认
    Agent->>User: 展示可清理资源 / 卸载范围
    User-->>Agent: 选择范围 + 确认

    Note over Agent,System: 执行卸载
    Agent->>System: 按确认范围执行卸载
    System-->>Agent: 卸载结果

    Agent-->>User: 返回卸载结果

要点:

  • 部署/升级:确认配置 → 预检;全通过则自动继续,不再二次确认;未通过则修复或取消
  • 续跑:等待阶段中断后,用户可再次调用 skill 从 checkpoint 继续,不重装
  • 卸载:独立路径,跳过预检;先点选清理范围再执行
  • 仅预检:走部署链路,预检完成后停止,不进入安装

4. 设计原则

  • 预检未通过不得安装;破坏性操作须用户确认
  • 长耗时操作可中断续跑
  • 实现细节与硬门禁全文不在 RFC 展开,见 SKILL.md

5. 演进与共建

社区可扩展:更多预检维度、离线部署、更多模型部署规格映射等。

likedislike
openFuyao-botopenFuyao-bot成员
8月21日 添加了label:sig/sig-ai-inference
openFuyao-bot
openFuyao-bot成员
8月21日 评论:

欢迎来到 openFuyao 社区

Hey @xinhongchen , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

联系指引

有疑问可以联系 SIG: sig-ai-inference ,
维护者是: @foxbit, @regandy ,
审核者是: @ShiroChen, @piamposer-li, @qinwenzh .

likedislike
Xxinhongchen成员
8月21日 修改了issue 的描述
此处折叠了28条事件消息 查看更多
Xxinhongchen成员
2 天前 关联了pull request:fix(skills): precipitate full inference-backend service scaffold per model profile