Непреднамеренное постоянное хранилище в PostgreSQL с Helm - PullRequest
2 голосов
/ 03 апреля 2019

Короткая версия: PostgreSQL, развернутый через Helm, непреднамеренно сохраняет данные между развертываниями.Как убедиться, что данные очищены?

Длинная версия: В настоящее время я развертываю PostgreSQL через Helm следующим образом, используя его для локальной базы данных разработки для приложения, которое я создаю:

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 Ответ

3 голосов
/ 03 апреля 2019

В вашем кластере может быть настроен поставщик томов по умолчанию.

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

Таким образом, даже если у вас не настроен класс хранения, будет назначен том.

Вам нужно установить значение helm persistence.enabled в false.

Значение истинно по умолчанию:

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

...