云原生应用管理:原理与实践
上QQ阅读APP看书,第一时间看更新

2.7 Helm Hooks

Helm提供一种钩子机制,允许用户在Release生命周期的某些节点上执行一些特定的动作。例如,用户可以在以下场景使用钩子机制。

·在安装其他Chart前,加载一个configmap或secret。

·在安装一个新的Chart前运行一个Job来备份数据库,然后升级完成后再运行第二个Job去恢复数据。

·在删除一个Release前运行一个Job,将流量转移到其他服务。

Hooks编写模式和普通模板无异,但是它们有特殊的标签可以让Helm执行一些特别的动作,本节将会介绍Hooks的一些基本用法。

一个简单的Hooks在模板中的编写规则如下:


apiVersion: ...
kind: ....
metadata:
  annotations:
    "helm.sh/hook": "pre-install"
# ...