首页/开发/CI/CD 与发布速查/Helm Hooks(发布前后钩子)
发布策略60 条

Helm Hooks(发布前后钩子)

在发布生命周期的关键节点执行一次性任务:升级前跑数据库迁移 Job、升级后发通知、测试钩子做验收;钩子用注解与权重控制执行顺序。

CI/CD 与发布速查开发更新于 2026-10-12
常用钩子pre-install / post-install / pre-upgrade / post-upgrade / post-rollback / test
顺序helm.sh/hook-weight 数值越小越先执行
清理helm.sh/hook-delete-policy 控制 Job 留存
载体通常为 Job(也可为其他资源)

迁移钩子

迁移钩子
apiVersion: batch/v1
kind: Job
metadata:
  name: db-migrate
  annotations:
    "helm.sh/hook": pre-upgrade
    "helm.sh/hook-weight": "-5"
spec:
  template:
    spec:
      restartPolicy: Never
      containers:
      - name: migrate
        image: registry.example.com/migrate:1.9.0
钩子失败会导致发布中止:迁移没完成就不继续升级,这正是需要的语义。

易错点

  • 迁移 Job 长时间不结束:升级等待超时,发布被卡在中途
  • 钩子 Job 未配置清理策略:集群里堆积失败 Job,噪音掩盖新问题

数据来源与参考

  • Helm 文档《Hooks》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌