Quarkus 应用程序无法连接到 Kubernetes 中的 PostgreSQL(致命:密码验证失败)

问题描述 投票:0回答:1

我正在 Kubernetes 中部署 Quarkus 应用程序,它无法连接到 PostgreSQL 数据库,并出现以下错误:

FATAL: password authentication failed for user "<username>"

这是我的设置的一些背景:

数据库配置:

数据库凭据是通过 Helm 使用 GitHub Action 中的 --set 标志注入的:

--set env.DB_URL="${{ secrets.DB_URL_PROD }}" \
--set env.DB_USERNAME="${{ secrets.DB_USERNAME_PROD }}" \
--set env.DB_PASSWORD="${{ secrets.DB_PASSWORD_PROD }}"

应用程序配置为将这些值读取为环境变量: 属性

quarkus.datasource.jdbc.url=${DB_URL}
quarkus.datasource.username=${DB_USERNAME}
quarkus.datasource.password=${DB_PASSWORD}

Dockerfile 配置:

环境变量在 Dockerfile 中设置,但留空以便在运行时覆盖: dockerfile

ENV DB_URL=""
ENV DB_USERNAME=""
ENV DB_PASSWORD=""

GitHub 操作工作流程:

在 CI/CD 管道中,我使用本地 PostgreSQL 数据库进行测试。 我最近更新了密码,现在应该正确匹配。用户名也显示正确。我连接到天蓝色并将变量记录到控制台,这也是正确的。 本地发展:

我能够使用相同的凭据从本地计算机连接到此开发数据库,没有任何问题。

问题: 鉴于本地开发中使用相同的凭据,什么可能导致此身份验证失败? 问题是否在于 Kubernetes 或 Quarkus 中如何解释 DB_URL? Kubernetes、Helm 或 Quarkus 是否有任何特定的因素可能会导致此类环境变量或数据库连接问题?

任何见解或调试技巧将不胜感激。预先感谢!

postgresql azure kubernetes github-actions quarkus
1个回答
0
投票

原来密码已被缓存。我必须删除并重新上传所有服务并更改数据库的密码。

© www.soinside.com 2019 - 2024. All rights reserved.