【问题标题】:Unintended persistent storage in PostgreSQL with Helm使用 Helm 的 PostgreSQL 中的意外持久存储
【发布时间】:2019-08-25 07:17:07
【问题描述】:

短版:通过 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 中运行

【问题讨论】:

    标签: postgresql kubernetes kubernetes-helm


    【解决方案1】:

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-06
      • 2013-04-27
      • 1970-01-01
      • 2012-02-02
      • 2021-11-11
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      相关资源
      最近更新 更多