Artifactory PostgreSQL 数据库中没有行
No Rows in Artifactory PostgreSQL Database
我正在使用 JFrog Helm chart here 将 Artifactory 部署到 EKS 集群中。我使用 PostgreSQL 作为数据库,并计划按照他们的生产建议使用外部部署的数据库实例。我已经使用内部 PostgreSQL 数据库和外部部署的数据库部署了 Helm 图表,并且两次都成功地能够启动 Artifactory 并上传包。但是,当我在任何一种情况下连接到实际的 PostgreSQL 数据库时,我都无法查询相关表以获取我期望的数据。例如,如果我在 Artifactory UI 中创建组或用户,我在数据库表中看不到任何结果行。我试图通过为 Helm 图表提供不正确的数据库 username/password 来验证我是否正确配置了 Helm 值,但图表未能应用,所以在我看来这意味着它至少连接到正确的 PostgreSQL 数据库。我还看到部署到 PostgreSQL 中的正确架构。
我正在使用 Terraform Helm 提供程序安装 Helm chart,这里是模板化的 values.yaml 文件:
nginx:
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
service.beta.kubernetes.io/load-balancer-source-ranges: "0.0.0.0/0"
postgresql:
enabled: false
database:
type: postgresql
driver: org.postgresql.Driver
url: "jdbc:postgresql://${db_host}:${db_port}/artifactory"
user: ${db_user}
password: ${db_password}
您能否分享完整的 helm 安装命令以及 values.yaml?另外,正如您所说,您可以使用 Postgres DB 启动 Artifactory,您能否在启动 Artifactory 时确认,Artifactory 实际上正在访问正确的数据库?您可以参考 artifactory.log 文件中的以下连接 URL 日志条目,
2020-07-16 09:51:13,783 [art-init] [INFO] (o.a.s.ArtifactoryApplicationContext:520) - Artifactory 应用程序上下文通过刷新设置为未就绪
2020-07-16 09:51:28,884 [art-init] [INFO] (o.a.s.d.DbServiceImpl:282) - 数据库:PostgreSQL 10.13 (Ubuntu 10.13-1.pgdg18.04+1) .驱动程序:PostgreSQL JDBC 驱动程序 42.2.5 池:postgresql
2020-07-16 09:51:28,893 [art-init] [INFO] (o.a.s.d.DbServiceImpl:285) - 连接 URL: jdbc:postgresql://本地主机:5432/人工制品
2020-07-16 09:51:28,899 [art-init] [信息] (o.a.s.d.DbServiceImpl:119) - 正在创建数据库模式
2020-07-16 09:51:29,769 [art-init] [INFO] (o.a.s.d.DbServiceImpl:126) - 已创建数据库模式
2020-07-16 09:51:35,383 [art-init] [INFO] (o.a.e.p.s.NodeEventPrioritiesStorageServiceFactory:27) - 初始化基于数据库的优先级存储服务
如果它访问了正确的数据库,您尝试获取表数据的准确程度如何?
在与 JFrog 支持人员交谈后,我发现我查看的数据库 table 不正确。用户信息存储在 access_users
table 中,群组信息存储在 access_groups
中,而不是 users
和 groups
.
我正在使用 JFrog Helm chart here 将 Artifactory 部署到 EKS 集群中。我使用 PostgreSQL 作为数据库,并计划按照他们的生产建议使用外部部署的数据库实例。我已经使用内部 PostgreSQL 数据库和外部部署的数据库部署了 Helm 图表,并且两次都成功地能够启动 Artifactory 并上传包。但是,当我在任何一种情况下连接到实际的 PostgreSQL 数据库时,我都无法查询相关表以获取我期望的数据。例如,如果我在 Artifactory UI 中创建组或用户,我在数据库表中看不到任何结果行。我试图通过为 Helm 图表提供不正确的数据库 username/password 来验证我是否正确配置了 Helm 值,但图表未能应用,所以在我看来这意味着它至少连接到正确的 PostgreSQL 数据库。我还看到部署到 PostgreSQL 中的正确架构。
我正在使用 Terraform Helm 提供程序安装 Helm chart,这里是模板化的 values.yaml 文件:
nginx:
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
service.beta.kubernetes.io/load-balancer-source-ranges: "0.0.0.0/0"
postgresql:
enabled: false
database:
type: postgresql
driver: org.postgresql.Driver
url: "jdbc:postgresql://${db_host}:${db_port}/artifactory"
user: ${db_user}
password: ${db_password}
您能否分享完整的 helm 安装命令以及 values.yaml?另外,正如您所说,您可以使用 Postgres DB 启动 Artifactory,您能否在启动 Artifactory 时确认,Artifactory 实际上正在访问正确的数据库?您可以参考 artifactory.log 文件中的以下连接 URL 日志条目,
2020-07-16 09:51:13,783 [art-init] [INFO] (o.a.s.ArtifactoryApplicationContext:520) - Artifactory 应用程序上下文通过刷新设置为未就绪 2020-07-16 09:51:28,884 [art-init] [INFO] (o.a.s.d.DbServiceImpl:282) - 数据库:PostgreSQL 10.13 (Ubuntu 10.13-1.pgdg18.04+1) .驱动程序:PostgreSQL JDBC 驱动程序 42.2.5 池:postgresql 2020-07-16 09:51:28,893 [art-init] [INFO] (o.a.s.d.DbServiceImpl:285) - 连接 URL: jdbc:postgresql://本地主机:5432/人工制品 2020-07-16 09:51:28,899 [art-init] [信息] (o.a.s.d.DbServiceImpl:119) - 正在创建数据库模式 2020-07-16 09:51:29,769 [art-init] [INFO] (o.a.s.d.DbServiceImpl:126) - 已创建数据库模式 2020-07-16 09:51:35,383 [art-init] [INFO] (o.a.e.p.s.NodeEventPrioritiesStorageServiceFactory:27) - 初始化基于数据库的优先级存储服务
如果它访问了正确的数据库,您尝试获取表数据的准确程度如何?
在与 JFrog 支持人员交谈后,我发现我查看的数据库 table 不正确。用户信息存储在 access_users
table 中,群组信息存储在 access_groups
中,而不是 users
和 groups
.