Car*_*ine 9 kubernetes kubernetes-helm
我通过以下方式安装了掌舵版本
helm install --name my-release .
Run Code Online (Sandbox Code Playgroud)
并删除它
helm delete --purge my-release
Run Code Online (Sandbox Code Playgroud)
但我发现 kubernetes 不会清除与该版本的容器相关的任何存储。我安装了postgresql,对它做了很多事情,删除了,当我重新安装它时,我所有的数据都在那里。如何通过 helm delete 清除存储?
编辑:我使用的是Postgresql 稳定图表版本5.3.10
这是我发布的唯一自定义内容
值.yaml
postgresql:
postgresqlDatabase: test
postgresqlUsername: test
postgresqlPassword: test
Run Code Online (Sandbox Code Playgroud)
查看helm图表文件:https : //github.com/helm/charts/blob/master/stable/postgresql/templates/statefulset.yaml
很明显,如果你没有.Values.persistence.existingClaim在 values.yaml 中指定 for 的值,它会自动创建一个持久卷声明。
.Values.persistence.storageClass创建的 pvc设置了存储类,则将使用该类来配置卷。.Values.persistence.storageClass,则自动创建的 pvc 将不会指定存储类字段。由于您使用的是图表的默认 values.yaml,因此您有第三种情况。
在 kubernetes 中,如果您没有在持久卷声明中指定存储类,它将使用集群的默认存储类来配置卷。
检查哪个是您的集群的存储类:
kubectl get sc
Run Code Online (Sandbox Code Playgroud)
默认的 StorageClass 将被标记(default)。描述该存储类并找到它的Reclaim Policy.
如果 Reclaim Policy 是Delete,它创建的 pv 将在其声明被删除时自动删除(在您的情况下,当图表被卸载时)。
如果默认存储类的回收策略不是 Delete,则必须使用 Delete 策略创建自己的存储类,然后进一步使用它。
| 归档时间: |
|
| 查看次数: |
5788 次 |
| 最近记录: |