You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Helm中,Release与Revision的区别是什么?

Helm中Release与Revision的核心区别

什么是Release?

  • Release是Helm对部署到Kubernetes集群的Chart实例的唯一命名标识。每次用helm install部署Chart时,都会生成一个新的Release,它包含了该Chart对应的所有Kubernetes资源(比如Deployment、Service、ConfigMap等)以及你指定的自定义配置值。
  • 举个例子:如果你用helm install my-redis bitnami/redis部署Redis,my-redis就是一个独立的Release,集群里所有和这个Redis相关的资源都归属于它。

什么是Revision?

  • Revision是某个Release的迭代版本号,用来记录该Release的每一次变更。当你对已有Release执行helm upgrade(升级配置或Chart版本)、helm rollback(回滚到旧版本),甚至是修复Release的失败状态时,Helm都会为这个Release生成一个新的Revision,版本号从1开始递增。
  • 比如上面的my-redis Release,第一次部署是Revision 1,第一次升级后变成Revision 2,回滚到Revision 1后,会生成新的Revision 3(而不是覆盖旧的Revision记录)。

二者的核心差异

  • 本质定位不同:
    • Release是一个完整的部署实例,代表一组关联的Kubernetes资源集合,是操作的核心对象;
    • Revision是Release的版本历史快照,仅用来追踪该Release的变更过程,无法脱离Release独立存在。
  • 生命周期关联:一个Release可以拥有多个Revision,每个Revision都绑定到特定的Release;反过来,一个Revision只属于一个Release。
  • 触发动作不同:
    • helm install命令直接创建Release;
    • helm upgrade/helm rollback/helm repair等命令会为已有Release生成新的Revision。
  • 查询方式不同:
    • 用helm list可以查看集群中所有Release的当前状态;
    • 用helm history <release-name>可以查看指定Release的所有Revision历史,包括每个版本的变更时间、操作类型等。

实际场景示例

  1. 首次部署:helm install my-nginx bitnami/nginx → 创建Release my-nginx,对应Revision 1。
  2. 升级配置:helm upgrade my-nginx bitnami/nginx --set service.type=NodePort → Release my-nginx的Revision更新为2,集群资源应用新的配置。
  3. 回滚操作:helm rollback my-nginx 1 → Release my-nginx生成Revision 3,集群资源回到Revision 1的状态,同时保留之前的所有Revision记录。

内容的提问来源于stack exchange,提问作者David Wesby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:40:24