我在预安装挂钩中使用 Helm 创建了一个 K8S Secret。
这个秘密是一个数据库用户的随机密码。当我卸载 Helm Chart 时,我删除了数据库和数据库用户,所以我想删除 K8S Secret 以及。
一切正常,只是卸载后没有删除秘密。
apiVersion: v1
kind: Secret
metadata:
name: secret-name
namespace: sample
labels:
app.kubernetes.io/managed-by: "sample"
app.kubernetes.io/instance: "sample"
app.kubernetes.io/version: "1.1"
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "-1"
type: Opaque
stringData:
user: "test-user"
password: {{ randAlphaNum 10 | quote }}
In the documentation,有 hook-delete-policy
注释,但可能的值是
就我而言,似乎没有一个选项是正确的。
如何在卸载时自动删除K8S Secret?
答案 0 :(得分:1)
为什么不将 post-delete
与 pre-install
一起使用?
post-delete -- 在所有删除请求之后执行 发布的资源已被删除
annotations:
"helm.sh/hook": post-delete
"helm.sh/hook": pre-install