带有Helm的PostgreSQL中的意外持久存储

问题描述 投票:2回答:1

简短版本:通过Helm部署的PostgreSQL无意中在部署之间持久存储数据。如何确保清除数据?

长版本:我目前正在通过Helm以这种方式部署PostgreSQL,将它用于我正在构建的应用程序的本地开发数据库:

helm install stable/postgresql -n testpg \
    --set global.postgresql.postgresqlDatabase=testpg \
    --set global.postgresql.postgresqlUsername=testpg \
    --set global.postgresql.postgresqlPassword=testpg \
    --set global.postgresql.servicePort=5432 \
    --set service.type=LoadBalancer

当我完成(或者如果我把数据库弄得很糟糕并且需要清除它)时,我将其卸载:

helm del --purge testpg

(确认删除和kubectl get all confirms工作)

但是,当我再次启动数据库时,我很惊讶地看到数据和模式在旋转时仍然存在。

数据是如何持久的,我如何确保每次都有一个干净的数据库?

其他详情:

  • 我的Kubernetes Cluster在Docker Desktop v2.0.0.3中运行
postgresql kubernetes kubernetes-helm
1个回答
3
投票

您的群集可能已配置默认卷配置程序。

https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/#defaulting-behavior

因此,即使您没有配置存储类,也会分配一个卷。

您需要将helm值persistence.enabled设置为false。

默认情况下该值为true:

https://github.com/helm/charts/blob/master/stable/postgresql/values.yaml

© www.soinside.com 2019 - 2024. All rights reserved.