我通过以下方式安装头盔版本
helm install --name my-release .
并通过
将其删除helm delete --purge my-release
但是我发现kubernetes不会清除与该发行版的容器相关的任何存储。我安装了postgresql,对其做了很多事情,删除了它们,当我重新安装它时,我所有的数据都在那里。如何通过删除头盔清除存储?
编辑:我正在使用Postgresql Stable Chart版5.3.10
这是我发布的版本中唯一的自定义内容
values.yaml
postgresql:
postgresqlDatabase: test
postgresqlUsername: test
postgresqlPassword: test
答案 0 :(得分:2)
查看头盔图表文件: https://github.com/helm/charts/blob/master/stable/postgresql/templates/statefulset.yaml
很明显,如果您未在values.yaml中指定public class LgItemProcessor<LgBulkLine, LGInfo> implements ItemProcessor<LgBulkLine, LGInfo> {
private static final Log log = LogFactory.getLog(LgItemProcessor.class);
@SuppressWarnings("unchecked")
@Override
public LGInfo process(LgBulkLine item) throws Exception {
log.info(item);
return (LGInfo) Intializer.initializeEntity();
}
}
的值,它将自动创建一个持久的批量声明。
.Values.persistence.existingClaim
设置了存储量,则创建的pvc将使用该类来配置卷。.Values.persistence.storageClass
指定任何内容,则自动创建的pvc将不会指定存储类字段。 由于使用的是图表的默认values.yaml,因此具有第三种情况。
在kubernetes中,如果您没有在持久卷声明中指定存储类,它将使用集群的默认存储类来配置卷。
检查哪个是集群的存储类:
.Values.persistence.storageClass
默认StorageClass将用kubectl get sc
标记。
描述该存储类并找到它的(default)
。
如果将回收策略删除,则删除该索赔所创建的PV(在您的情况下,将图表卸载)会自动删除。
如果默认存储类的回收策略不是删除,则必须使用“删除”策略创建自己的存储类,然后再使用它。
答案 1 :(得分:0)
如果您查看 default values.yaml
here 中的默认值:
persistence:
enabled: true
通过将其设置为false,我们可以禁用持久性,以便卸载 helm 版本后,数据不会持久化。
为此,请创建您自己的值文件,其中包含以下内容:
persistence:
enabled: false
#Sample command
helm install myrelease --values values-override.yaml bitnami/postgresql