gpt4 book ai didi

kubernetes - Helm删除发布并清除关联的存储

转载 作者:行者123 更新时间:2023-12-02 11:30:31 25 4
gpt4 key购买 nike

我通过安装 Helm 版本

helm install --name my-release .

并删除它
helm delete --purge my-release

但是我发现kubernetes不会清除与该发行版的容器相关的任何存储。我安装了postgresql,对其做了很多事情,删除了它们,当我重新安装它时,我所有的数据都在那里。如何通过删除 Helm 清除存储?

编辑:我正在使用 Postgresql Stable Chart版本 5.3.10
这是我发布中唯一的自定义内容

values.yaml
postgresql:
postgresqlDatabase: test
postgresqlUsername: test
postgresqlPassword: test

最佳答案

查看 Helm 图表文件:
https://github.com/helm/charts/blob/master/stable/postgresql/templates/statefulset.yaml

很明显,如果您未在values.yaml中指定.Values.persistence.existingClaim的值,它将自动创建一个持久性卷声明。

  • 如果您为.Values.persistence.storageClass设置了存储时间,则创建的pvc将使用该类来配置卷。
  • 如果将存储类设置为“-”,则动态预配置将被禁用。
  • 如果您没有为.Values.persistence.storageClass指定任何内容,则自动创建的pvc将不会指定存储类字段。

  • 由于您使用的是图表的默认values.yaml,因此具有第三种情况。

    在kubernetes中,如果您没有在持久卷声明中指定存储类,它将使用集群的 默认存储类来配置卷。

    检查哪个是集群的存储类:
    kubectl get sc 

    默认的StorageClass将由 (default)标记。
    描述该存储类并找到它的 Reclaim Policy

    如果“回收策略”为 删除,则删除它的 claim (在您的情况下,将图表卸载)时,由它创建的pv将自动删除。

    如果默认存储类的回收策略不是 Delete ,则必须使用Delete策略创建自己的存储类,然后再使用它。

    关于kubernetes - Helm删除发布并清除关联的存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56768600/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com