【问题标题】:How to create secret in pre-install hook & delete after Helm uninstallHelm卸载后如何在预安装挂钩和删除中创建秘密
【发布时间】:2021-07-19 17:13:47
【问题描述】:

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

【问题讨论】:

  • @Daniel Marques 的解决方案对您有帮助吗?

标签: kubernetes kubernetes-helm


【解决方案1】:

为什么不直接使用post-deletepre-install

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

annotations:
  "helm.sh/hook": post-delete
  "helm.sh/hook": pre-install

【讨论】:

  • sopost-delete如果不是Job则删除资源,如果是Job则创建资源?
  • annotations 中有重复键似乎并不违法
猜你喜欢
  • 1970-01-01
  • 2021-06-17
  • 2013-06-21
  • 2020-10-11
  • 2021-12-10
  • 1970-01-01
  • 2021-12-04
  • 2020-12-08
  • 1970-01-01
相关资源
最近更新 更多