让 helm 在发布过程中停止跟踪命名空间资源,而不实际删除它

Fil*_*lov 4 kubernetes-helm

在我目前工作的公司中,我们有内部开发的 RBAC Helm 图表,其中模板文件夹中包含命名空间资源,因此命名空间现在是 Helm 版本的一部分。

我们现在意识到,在 Helm 中包含命名空间并不是一个好主意,因为在很多情况下(此处插入任何原因),Helm 可能会尝试重新创建给定资源,如果这种情况发生在命名空间对象上,它将删除(为了重新创建)名称空间及其中的所有内容。

我的问题:是否有可能让 Helm 停止跟踪命名空间而不实际删除它,以便命名空间不再是 Helm 版本的一部分?

Fil*_*lov 8

根据 Helm文档,您可以要求 Helm 不要删除资源。

  annotations:
    "helm.sh/resource-policy": keep
Run Code Online (Sandbox Code Playgroud)

注释 "helm.sh/resource-policy": keep 指示 Helm 在 helm 操作(例如 helm 卸载、helm 升级或 helm 回滚)导致删除该资源时跳过删除该资源。但是,该资源成为孤立资源。Helm 将不再以任何方式管理它。如果在已卸载但保留资源的版本上使用 helm install --replace ,这可能会导致问题。