Helm 发布保险是什么
让 Helm 等资源真正就绪再判定升级结果:--wait 等待资源就绪(受 --timeout 约束),--atomic 在失败时自动回滚到上一版本,为 CI 自动发布加一道兜底。默认超时 5 分钟,生产发布通常调到 10 分钟以上。回滚作用于 Helm 管理的资源,作用边界要在使用前弄清楚。回滚会把整个变更集撤销,回滚后要有人确认业务恢复而不是只看命令退出码。
基本信息
| --wait | 等待资源就绪(受 --timeout 约束) |
|---|---|
| --atomic | 失败自动回滚(隐含 --wait) |
| --timeout | 整体等待上限,默认 5m |
| 回滚记录 | helm history 可查每次发布与回滚 |
| 边界 | crds/ 目录的 CRD 只安装、不升级不删除,不随回滚还原 |
| 现状确认 | helm status 查看当前 release 的资源与状态 |
典型使用场景
- CI 自动发布:无人值守升级用 --atomic 做失败兜底
- 首次安装:--install 配合 --wait,就绪后再进入后续步骤
- 发布审计:helm history 留痕每次升级与回滚
- 手动回滚:helm rollback 回到指定历史版本
- 预发演练:同一 chart 同参数先在预发执行验证
- 灰度环境:预发先升级,观察 release 状态与资源事件
- 流水线集成:helm 输出接入通知与发布审计
带兜底的升级
带兜底的升级
helm upgrade --install web ./chart -n prod \
--wait --atomic --timeout 10m
# 查看发布历史
helm history web -n prod
# 手动回滚到指定版本
helm rollback web 3 -n prod常用参数
| 参数 | 行为 | 注意 |
|---|---|---|
| --wait | 等待资源就绪 | 依赖就绪探针质量 |
| --atomic | 失败自动回滚 | 隐含 --wait |
| --timeout | 等待上限 | 按环境启动时长调大 |
| helm history | 发布与回滚审计 | 关注每行状态与时间 |
自动回滚是兜底不是终点:回滚事件要通知到团队并复盘触发原因。
回滚依赖上一版本制品仍在仓库(镜像、Chart 未被清理),制品保留窗口要覆盖回滚周期。
超时约束整个等待过程:设太短会把慢启动判为失败并触发不必要的自动回滚。