Skip to main content
灰度发布用于对推理服务进行有风险的版本变更,例如更换模型、镜像、启动参数、环境变量或探针配置。灰度过程中,新版本和旧版本并行运行,您可以逐步调整流量或副本,观察新版本表现,再决定全量切换、回滚或清理旧版本。

选择发布方式

同一个服务同时只能存在一个进行中的灰度流程。灰度全量切到新版本后,仍需要清理旧版本才算结束;清理前可以回滚,清理后不再支持本轮灰度的快速回滚。

发起灰度发布

1. 发起灰度

在服务列表中,在目标服务的对应操作列中选择 更新 > 灰度发布。
服务需要处于 运行中,且没有进行中的灰度流程。发起灰度前,建议记录当前模型、镜像、版本、入口、目标副本和业务基线。

2. 修改新版本配置

在当前服务配置基础上修改本次灰度要验证的内容。 如果需要清空已有环境变量、挂载卷或探针配置,不建议通过灰度完成;这类清空操作更适合直接发布,避免灰度配置合并时被识别为未提交字段。

3. 选择放量模式

灰度提交后通常不能在同一次流程中切换模式。选择高级模式时,需要同时关注流量权重、新旧版本副本和资源峰值。

4. 提交灰度

提交后,进入灰度详情页观察新版本目标副本、就绪副本、事件、日志、监控和本次变更差异。

观察和推进灰度

每次调整目标后,等待实例就绪并观察错误率、延迟、业务结果和告警,再继续推进。小样本请求的实际比例可能与配置权重有偏差,应结合总体指标判断。

容量策略

灰度发布可能在一段时间内同时保留新旧版本,需要提前评估资源峰值。 如果推进卡住,优先查看灰度详情中的告警、事件和新旧版本就绪副本。常见原因包括资源不足、镜像拉取失败、探针配置不当或新版本启动失败。

回滚和清理旧版本

全量切到新版本后,旧版本通常仍会保留一段时间用于快速回滚。此时新旧两侧仍可能占用资源。
  • 新版本异常时,确认旧版本容量可承接流量,再执行 回滚。
  • 新版本稳定后,执行 清理旧版本 释放旧版本资源。
  • 清理旧版本后,本轮灰度结束,不能再通过当前灰度流程快速回滚。
历史版本回滚只恢复服务版本配置,不恢复数据库或 Volume 数据。涉及持久化写入、外部依赖或数据结构变更时,需要单独规划数据恢复方案。

常见问题

灰度流程正在管理新旧版本的流量和副本。为避免直接更新、扩缩容、上下线或入口变更覆盖灰度目标,部分操作会被禁用。需要恢复常规操作时,先完成清理旧版本或回滚结束灰度。
全量发布只把流量切到新版本,旧版本仍保留用于观察期回退。确认新版本稳定后,需要执行 清理旧版本。
先查看灰度详情的告警、目标副本和就绪副本,再查看新版本事件和实例日志。资源不足时可降低新版本目标、调整容量策略或回滚。

相关文档