首页/AI/大模型部署与运维速查/升级流水线:镜像/权重/配置三件套
运维监控与排障50 条

升级流水线:镜像/权重/配置三件套

版本升级把三个制品分开管理:镜像(代码与依赖)、权重(模型文件)、配置(启动参数);各自版本化与锁定,升级先在预发对比基准,再灰度单实例、观察、全量。

升级要管三个制品

版本升级实际上涉及三个独立制品:镜像(代码与依赖)、权重(模型文件)、配置(启动参数)。三者各自版本化与锁定,升级流程先在预发对比基准,再灰度单个实例、观察一段,最后全量。把它们混在一起改,出问题时根本无法归因。

基本信息

镜像引擎版本、运行时与依赖,用不可变标签
权重目录与修订号,与镜像解耦
配置启动参数与模板,纳入版本管理
流程预发对比、灰度、观察、全量
回退旧制品保持可用

典型使用场景

  • 引擎版本升级
  • 模型权重替换
  • 调整启动参数
  • 三类变更集中发布时的流程设计
  • 为每次升级保留一份变更单,写清三个制品与回退指向
  • 做版本对比前先确认预发与生产的制品版本已经对齐

灰度观察点

灰度观察点
curl -s http://127.0.0.1:8001/metrics | grep -E 'num_requests|time_to_first_token'
# 另核对:错误率、KV 水位、首字与单 token 时间,与旧版本对比
# 观察窗口内不通过则回退指向旧制品

三类制品的回退

制品版本化方式回退动作
镜像不可变标签指回旧标签
权重目录或修订号指回旧目录
配置纳入版本管理恢复上一版参数
回退路径要保持可用:旧镜像与旧权重在观察期内不要删除,回退只需要改指向,不必重新构建。
三类制品尽量分开升级:一次只动一个,观察窗口里的指标变化才有归因价值。
三类制品要有统一的版本记录:某次升级对应哪套镜像、哪份权重、哪版配置,必须能一眼查出来。
预发环境要尽量贴近生产:显存规格与流量结构差太多时,预发得到的结论无法外推。

易错点

  • 升级顺手也改配置:两个变量叠加,性能变化与故障都难归因
  • 灰度窗口太短:加载与预热需要时间,指标还没稳定就放量
  • 观察期内就删旧制品:真需要回退时只能重新构建,窗口被拉长
  • 只观察错误率:吞吐与延迟的变化同样重要,两者要一起看
  • 权重换了却没记录修订号:回退时不知道要指回哪一版
  • 升级与容量调整一起做:出问题时判断不出是版本变化还是容量变化导致的

数据来源与参考

  • Google SRE 手册:Canarying Releases(sre.google/sre-book)
  • vLLM 官方仓库 Release notes(github.com/vllm-project/vllm)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌