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

时间:2019-04-03 17:05:01

标签: postgresql kubernetes kubernetes-helm

短版:通过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集群正在Docker Desktop v2.0.0.3中运行

1 个答案:

答案 0 :(得分:3)

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

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

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

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

该值默认为true:

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