helm rollback 是什么
把 release 回退到历史修订:回滚动作本身生成一个新修订号并记录在历史里,可以继续回滚或再次前进。典型流程是先 helm history 看目标修订与状态,再 rollback,然后 status 确认收敛。严格说它回滚的是 Helm 管理的资源:集群外部资源与数据变更不在范围内——数据库迁移、外部配置这类副作用要单独处理。
基本信息
| 命令 | helm rollback <release> [revision],修订号可省略(回退到上一版) |
|---|---|
| 查看历史 | helm history <release> -n <ns>:列出修订、状态、说明与时间 |
| 特性 | 回滚生成新修订号,历史保留,可再回退或前进 |
| 边界 | 不会自动回滚集群外部资源与数据变更 |
helm history 关键列
| 列 | 含义 | 关注点 |
|---|---|---|
| REVISION | 修订号 | 回滚目标的编号 |
| STATUS | deployed/superseded/failed 等 | 目标修订应为 deployed |
| DESCRIPTION | 升级或回滚说明 | 核对变更来源 |
| APP VERSION | 应用版本 | 与发布记录比对 |
典型使用场景
- 发布失败止损:upgrade 出问题后回退到已知稳定修订
- 配置回退:values 调整引发异常时退回旧修订
- 演练:在预发环境定期演练回滚流程,校验时长与步骤
- 故障对比:回滚后问题消失,确认与本次发布相关
- 回退后又后悔:对回滚生成的修订再回滚,等价于重新前进
- 版本对齐:回滚后核对 helm history 与应用发布记录,避免代码退了配置没退
回滚操作示例
回滚操作示例
# 1. 查看历史,确认目标修订与状态
helm history web -n prod
# 2. 回退到修订 5(生成新修订)
helm rollback web 5 -n prod
# 3. 确认状态与资源收敛
helm status web -n prod
kubectl rollout status deployment/web -n prod回滚沿用原修订的 values 与镜像:确认这些引用仍可用再执行。
回滚耗时与资源规模相关:多资源 release 的回滚同样要等收敛,别把命令返回当作收敛完成。回滚由控制面执行,但业务影响等同一次发布,需要同样的观察窗口。