当我部署 Bitnami PostgreSQL Helm Chart(图表版本 10.9.4,appVersion:11.13.0)时,首次安装后任何用户的密码都不会更新或更改。
假设第一次安装时我使用此命令:
helm install postgresql --set postgresqlUsername=rpuser --set postgresqlPassword=rppass --set
postgresqlDatabase=reportportal --set postgresqlPostgresPassword=password2 -f
./reportportal/postgresql/values.yaml ./charts/postgresql
删除 Helm 版本也会删除有状态集。之后,如果我尝试以相同的方式但使用不同的密码值安装 PostgreSQL,这些密码将不会更新,并且会保留第一次安装时使用的密码。
关于用户密码的存储位置,我是否遗漏了什么?我是否必须删除 PV 和 PVC,或者它们与此无关? (我知道我可以使用 psql 命令更改密码,但我无法理解为什么会发生这种情况)
最佳答案
数据库密码和所有其他数据库数据都存储在 Kubernetes PersistentVolume 中。默认情况下,Helm 不会删除 PersistentVolumeClaim,因此即使您 helm uninstall && helm install
图表,它仍然会使用旧的数据库数据和旧的登录凭据。
helm uninstall
没有删除 PVC 的选项。这与 Kubernetes StatefulSet 的标准行为相匹配(有一个 alpha option to automatically delete the PVC 但需要在集群级别启用,并且还需要修改 StatefulSet 对象)。卸载图表时,还需要手动删除PVC:
helm uninstall postgresql
kubectl delete pvc postgresql-primary-data-0
helm install postgresql ... ./charts/postgresql
关于PostgreSQL bitnami Helm Chart 不更新用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72386457/