Helm Postgres密码认证失败。

14

我使用 README 中显示的示例安装 Bitnami Helm 图表:

helm install my-db \
  --namespace dar \
  --set postgresqlPassword=secretpassword,postgresqlDatabase=my-database \
  bitnami/postgresql

然后,按照安装成功后打印的简介中显示的说明,我转发端口到端口5432,然后尝试连接:

PGPASSWORD="secretpassword" psql --host 127.0.0.1 -U postgres -d my-database -p 5432

但我遇到了以下错误:

psql: error: could not connect to server: FATAL:  password authentication failed for user "postgres"
这怎么可能?Helm图表有问题吗?
2个回答

45
深藏在稳定/PostgreSQL问题跟踪器中的源代码是这个非常难以调试的问题的来源。
当您运行helm uninstall ...时,它会谨慎起见并不删除与首次运行helm install ...时获取的数据库相关联的存储。
这意味着一旦通过Helm安装了Postgres,无论后续安装过程中的提示是什么,密码都将始终相同。
要解决此问题,您必须手动删除持久卷索赔(PVC),这将释放数据库存储。
kubectl delete pvc data-my-db-postgresql-0

(或者与您最初的Helm安装相关联的PVC名称。)

现在,随后的helm install ...将创建一个全新的PVC,登录可以按预期进行。


2
是的,我也曾经遇到过同样的问题,删除 PVC 可以解决它。 - avinashjha
1
非常感谢,我尝试了一整天,你的帖子帮助我解决了问题,使用 'kubectl delete pvc <pvc>' 命令。 - Radhakrishnan
谢谢你,我的朋友!!这个PVC被保留的问题非常臭名昭著! - Aditya Jalkhare
1
非常感谢。这让我从半天的调试中解脱出来了。 - erik

0

我遇到了同样的问题,但由于我们正在从还原运行中,所以无法再删除 PVC。

最后,我更新了密码,如此处描述所示:

sudo -u postgres psql

\password postgres

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接