Hook 是什么以及何时触发
pre-install、post-upgrade 与完整事件集合
Hook 是什么以及何时触发 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
钩子存在的原因
有时您需要在发布过程中的精确时刻执行某项工作,例如初始化数据库。Helm钩子会在选定的生命周期事件中运行某个资源。
钩子只是添加了注解
钩子是一个普通的 Kubernetes 清单,只是额外添加了一条注解。helm.sh/hook 注解会告诉 Helm 特殊处理该资源,而不是将其作为普通发布内容。
metadata:
annotations:
"helm.sh/hook": pre-install安装事件
全新安装前后会触发两个事件。pre-install 会在创建任何 chart 资源之前运行,而 post-install 会在这些资源应用之后运行。
"helm.sh/hook": pre-install升级事件
升级也有自己的一对事件。pre-upgrade 会在应用升级之前触发,而 post-upgrade 会在新资源就位后触发。
"helm.sh/hook": pre-upgrade,post-upgrade回滚事件
回滚到较早的修订版本同样会触发钩子。pre-rollback 会在恢复之前运行,而 post-rollback 会在旧状态恢复后运行。
删除事件
卸载时会触发删除事件对。pre-delete 会在移除资源之前运行,为您提供先排空资源或备份数据的机会。
"helm.sh/hook": pre-delete测试事件
还有一个特殊事件。测试钩子不会在安装时触发;只有当您针对现有发布版本调用 helm test 时,它才会运行。
"helm.sh/hook": test钩子通常是作业
大多数钩子都是 Kubernetes Job,因为 Job 会运行至完成并报告成功。Helm 会等待该 Job 完成,然后再继续处理发布版本。
kind: Job
metadata:
annotations:
"helm.sh/hook": post-installHelm 等待成功
对于每个权重,Helm 都会等待钩子资源达到就绪状态后再继续。钩子失败会停止整个安装或升级过程。
不受正常跟踪管理
钩子资源位于发布版本的正常生命周期之外。它们不会随 chart 一起升级,因此您需要使用单独的删除策略来管理清理工作。
组合多个事件
一个资源可以服务于多个时刻。请将事件列在一起,例如 post-install,post-upgrade,这样同一个 Job 就会在全新安装和升级后运行。
"helm.sh/hook": post-install,post-upgrade快速检查
您希望在 chart 首次完成全新安装后运行一个 Job。
回顾
钩子是会在生命周期事件中触发的注解清单:安装、升级、回滚、删除和测试。Helm 会等待每个钩子成功。🪝
常见问题解答
「Hook 是什么以及何时触发」课时是免费的吗?
是的 — 「Hook 是什么以及何时触发」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「Hook 是什么以及何时触发」这节课中我会学到什么?
pre-install、post-upgrade 与完整事件集合 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「Hook 是什么以及何时触发」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Hook 是什么以及何时触发
- 数据库迁移 pre-upgrade Job
- Hook 权重与排序
- Hook 删除策略