0Pricing
DevOps Bootcamp · 课时

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-install

Helm 等待成功

对于每个权重,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 反馈 — 无需本地设置。

此课程中的所有课时

  1. Hook 是什么以及何时触发
  2. 数据库迁移 pre-upgrade Job
  3. Hook 权重与排序
  4. Hook 删除策略
← 返回 DevOps Bootcamp