当前位置: 首页 > 知识库问答 >
问题:

致命:为我自己的应用程序使用依赖关系图表时,用户“postgres”的密码身份验证失败

郗唯
2023-03-14

通过使用下面的命令,我可以运行helm、postgresql图表,而不需要任何依赖项

postgresql:postgres_database:******postgres_username:postgrespostgres_password:password

当我使用helm install命令helm install /--name***--set postgresqldatabase=*****,postgresqlpassword=password

我收到以下错误,原因为:org.postgresql.util.psqlexception:致命:在org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:473)~[Postgresql.core.v3.ConnectionFactoryImpl.OpenConnectionImpl(ConnectionFactoryImpl.java:205)~[Postgresql-42.2.2.jar!/:42.2.2]在org.postgresql.core.ConnectionFactory.java:49)~[Postgresql-42.2.2.jar!/:42.2.2]在jar!/:42.2.2]在org.postgresql.jdbc.pgconnection. (pgconnection.java:195)~[postgresql.driver.makeConnection(driver.java:452)~[postgresql-42.2.2.jar!/:42.2.2]在org.postgresql.driver.connection(driver.java:254)~[postgresql.driver.connection(driver.java:254)~[postgresql-42.2.2.jar!/:42.2.2]在jar!/:na]在com.zaxxer.hikari.util.DriverDataSource.GetConnection(driverDataSource.java:123)~[hikaricp-2.7.8.jar!/:na]在com.zaxxer.hikari.pool.poolbase.newConnection(poolbase.java:365)~[hikaricp-2.7.8.jar!/:na]在com.zaxxer.hikari.pool.poolbase.newpoolentry(poolbase.java:194)~[hikaricp-2.7.8.jar!/:na]在com.zaxxer.hikari.pool.hikaripool.createpoolentry(hikaripool.java:460)~[hikaricp-2.7.8.jar!/:na]在com.zaxxer.hikari.pool.hikaripo ol.checkfailfast(Hikaripool.java:534)~[hikaricp-2.7.8.jar!/:na]在com.zaxxer.hikari.pool.hikaripool.java:115)~[hikaricp-2.7.8.jar!/:na]在com.zaxxer.hikari.hikaridatasource.getConnection(Hikaridatasource.java:112)~[hikaricp-2.7.8.jar!/:na]在org.flywaydb.core.internal.util.jdbc.jdbcutils.openConnection(jdbcutils.java:51)~[flyway-core-5.0.7.jar!/:na]...91常用帧省略 我不知道如何为依赖项postgreSQL分配密码。有没有办法与postgres数据库连接。

共有1个答案

白嘉志
2023-03-14

您缺少的是为postgres实例设置密码,该实例嵌入在values文件中的图表中,例如在values中使用如下条目:

postgresql:
   postgresPassword: secretpassword 

注意,这使用的是camelcase名称,而不是您使用的全大写名称。这与通过--set postgresql.postgresqlpassword=secretpassword设置密码相当。bitnami postgresql图表将使用该值在秘密中记录其密码。我建议从这个秘密中获取密码,不过您可以像使用.values.postgresql.postgresqlpassword一样在部署中直接引用它。

无论哪种方式,您都需要确保您确实设置了它,或者是在具有其名称而不是大写名称的值中,或者是作为一个参数--我建议在值中设置一个默认值,然后您可以用一个参数覆盖它。

      valueFrom:
        secretKeyRef:
          name: {{ .Release.Name }}-postgresql
          key: postgres-password

此处{{.release.name}}-postgresql应与postgresql图表使用的秘密名称匹配。

(如果一个示例有帮助,activiti运行时包图使用postgres作为依赖项(它给它一个别名),并在值中设置postgres密码。然后,它检索密码,并通过从postgres图表自动创建的秘密中读取密码间接地在部署中使用该密码,可以使用发布名称引用该秘密,因为postgres图表使用模板全名命名该秘密。这是基于官方kubernetes图表中的postgresql图表的,但是正如前面提到的,bitnami图表以相同的方式从postgresql Password条目中创建秘密)

 类似资料: