部署模型
模型部署由集群里的 swiss(swissd)执行:每次部署、升级、回滚都会先生成部署计划、预览变更,确认后才真正执行。
首次使用:初始化站点
如果 swissd 还没有站点配置,进入模型服务时会看到 初始化站点 页。填写这个集群的基本情况后保存:
- 模型目录:可部署的模型从哪里来
- chart 仓库与镜像仓库
- 模型路径模板:权重在节点上的存放位置
之后可以随时在「模型服务 → 站点配置」修改,支持表单和 YAML 两种编辑方式,保存前服务端会先校验。
1. 在模型库里选模型
打开「模型服务 → 模型库」:
- 用搜索框和筛选条件(系列、引擎、硬件、标签)缩小范围;勾选「仅调优过」只看有调优变体的模型。
- 点模型卡片进入详情。变体页列出这个模型的各种部署形态(GPU 型号、卡数、引擎),每个变体会显示「N 个节点可用」——这是按当前集群空闲 GPU 计算的适配结果。
- 在合适的变体上点 部署。
2. 填写部署表单
| 分区 | 主要字段 | 说明 |
|---|---|---|
| 基本信息 | 服务名、命名空间 | 服务名同时用作 helm release、路由、伸缩器和 SLO 的名字;只能用小写字母、数字和 -,最多 53 个字符。部署后不能修改 |
| 资源与调度 | 自动伸缩 / 副本数、GPU 型号、容忍 | 自动伸缩默认开启,由 LLMScaler 在上下限之间管理副本数 |
| 路由 | 发布路由、路由路径、SLO、TTFT / TPS 阈值、Monitor、ServiceMonitor | 控制请求如何进入推理实例,以及路由的服务目标和监控配置 |
| 高级 | 覆盖 YAML | 一般不需要修改 |
多数字段留空即可,沿用站点配置和 chart 的默认值。
3. 预览并确认
点 生成计划 后进入预览:
- 部署计划:这次部署由哪些配置层组合而成。
- 变更差异:与集群现状相比将要改变的内容。
- 变更说明:写下这次变更的原因,会记入操作记录。
确认无误后点 确认部署。
4. 等待就绪
在「模型服务 → 推理服务」列表查看状态:
| 状态 | 含义 |
|---|---|
| 部署中 | helm 正在执行 |
| 加载中 | Pod 已调度,正在读取模型权重 |
| 运行中 | 可以提供服务 |
| 失败 | 部署失败,到操作记录里看输出 |
| 未就绪 | 超过 1 小时仍未就绪,超出正常加载时间,需要排查 |
冷启动需要 20–40 分钟。 大模型首次加载权重很慢,「加载中」通常不是出错。
点服务名进入详情,概览页按步骤展示进度:已应用 → 实例就绪 → 已接入路由 → 弹性伸缩。其他标签页:
| 标签 | 内容 |
|---|---|
| 实例 | Pod 列表、所在节点、重启次数 |
| 日志 | 按 Pod、容器查看最近日志 |
| 事件 | Kubernetes 事件,可只看告警(默认只保留 1 小时) |
| 版本管理 | 历史版本,可查看当时的 values 并回滚 |
| 操作记录 | 这个服务的部署、升级、回滚记录 |
| 部署计划 | 当前计划的组成 |
升级、回滚与卸载
在推理服务列表的行操作或详情页顶部操作:
- 升级:修改模型版本、变体或设置,同样先预览差异再确认。服务名和命名空间不能改。
- 回滚:在「版本管理」里选一个历史版本,原样恢复当时的计划。要改设置请用升级。
- 编辑 SLO:调整扩缩容依据的延迟、吞吐目标和副本数上下限。部署时没开 SLO 的服务需要先在升级时打开。
- 卸载:停止服务并删除 Pod,操作记录保留。重新安装需要重新加载权重。
列表上的「落后目录」表示目录里有更新的版本,可以升级;「未纳管」表示这个 release 不是通过 swiss 部署的,不能在这里升级。
节点与操作记录
- 「模型服务 → 节点」:集群的 GPU 库存——空闲 GPU、单节点最大空位、各型号分布,以及不可用的节点。部署前可以在这里确认资源是否足够。
- 「模型服务 → 操作记录」:swissd 执行过的每一次部署、升级、回滚、卸载,展开一行可以看完整输出。
只读模式
如果操作按钮是灰色的,并提示「这个 swissd 是只读的」,说明集群上的 swissd 没有开启部署权限,只能查看。需要由运维在 swiss 的配置里打开 allowDeploy。
