Helm卸载后如何在预安装挂钩和删除中创建秘密

时间:2021-04-26 10:16:27

标签: kubernetes kubernetes-helm

我在预安装挂钩中使用 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?

1 个答案:

答案 0 :(得分:1)

为什么不将 post-deletepre-install 一起使用?

<块引用>

post-delete -- 在所有删除请求之后执行 发布的资源已被删除

annotations:
  "helm.sh/hook": post-delete
  "helm.sh/hook": pre-install
相关问题