背景:Bench 1.0.3,Helm 2.8.2
Helm Hook:预安装权重:0 delete-policy:before-hook-creation
Helm命令:helm upgrade --install -n namespace
问题描述:使用--dry-run模式运行时,钩子块渲染得很好。但安装后(没有干运行),不会触发挂钩作业。
使用命令kubectl get jobs -n namespace检查作业。
Hook是一种在HELM中引入的机制,用于在发布生命周期中的某些点进行干预。可以通过元数据部分中的特殊注释以几种方式定义挂钩,即“预安装”,“安装后”,“预升级”等。挂钩示例:
apiVersion: ...
kind: ....
metadata:
annotations:
"helm.sh/hook": "pre-install"
完整的钩子列表可以找到here。此外,可以使用多个钩子。
在这种情况下,“预升级”选项解决了问题 “在呈现模板之后但在将任何资源加载到Kubernetes之前(例如在Kubernetes应用操作之前)执行升级请求。”