简短版本:通过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
工作)
但是,当我再次启动数据库时,我很惊讶地看到数据和模式在旋转时仍然存在。
数据是如何持久的,我如何确保每次都有一个干净的数据库?
其他详情:
您的群集可能已配置默认卷配置程序。
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