我尝试使用keycloak db来对抗crdb cloud。我使用https://github.com/codecentric/helm-charts/tree/master/charts/keycloak图表来部署k8s。我为keycloak创建了一个数据库,并将上述配置设置为成功连接。我使用values.yaml并添加了额外的env var:
extraEnv: |
- name: DB_VENDOR
value: postgres
- name: DB_ADDR
value: xxxx.xxx.cockroachlabs.cloud
- name: DB_PORT
value: "xxx"
- name: DB_DATABASE
value: keycloak
- name: DB_USER_FILE
value: /secrets/db-creds/user
- name: DB_PASSWORD_FILE
value: /secrets/db-creds/password
- name: JDBC_PARAMS
value: sslmode=verify-ca&sslrootcert=/secrets/crdb-creds/xxx.crt
- name: JDBC_PARAMS_FILE
value: /secrets/crdb-creds/xxx.crt
and also
# Add additional volumes, e. g. for custom themes
extraVolumes: |
- name: crdb-creds
secret:
secretName: keycloak-crdb-creds
- name: db-creds
secret:
secretName: keycloak-db-creds
and mounting
# Add additional volumes mounts, e. g. for custom themes
extraVolumeMounts: |
- name: crdb-creds
mountPath: /secrets/crdb-creds
readOnly: true
- name: db-creds
mountPath: /secrets/db-creds
readOnly: true
字符串
所以理论上在keycloak(!)。我打算给予一下这个,实际上它没有给一个错误,但它重新开始后,而保持重新启动相同的时间。所以它给出了一个:
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: java.sql.SQLException: IJ031040: Connection is not associated with a managed connection: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@3a612dd6
or
10:55:31,907 FATAL [org.keycloak.services] (ServerService Thread Pool -- 64) Error during startup: java.lang.IllegalStateException: Failed to retrieve lock
型
所以我的问题是,给出.crt路径的变量是什么,是否需要任何额外的进展来正确运行这个路径
1条答案
按热度按时间ttvkxqim1#
这一点有点晚,但我认为有很多人潜在地希望了解如何在CockroachDB上运行Keycloak。
所以理论上在keycloak(!).
“理论上”你是正确的,但可悲的是,事实并非如此。您得到的异常是因为在Keycloak中XA和JTA的设置方式不兼容。如果你通过了这一点,就会有更多的障碍,因为模式不兼容。关于CockroachDB使用Keycloak“遗留”存储的一些问题,有一个很长的线索:Github问题:Keycloak无法开始使用遗留的JPA存储与CockroachDB有计划在“新”商店中支持CockroachDB,但该实现目前是一个实验性功能,并不会成为默认的未来6-12个月。CockroachDB永远不会支持主发行版中的“遗留”存储,但是Phase Two维护了一个补丁的Keycloak以启用它。他们维护了一个docker镜像,该镜像与Keycloak版本保持最新,其中包含补丁:Keycloak on CockroachDB docker镜像运行时必须设置几个配置选项:
字符串
此外,关于
extraEnv
部分,Keycloak configuration环境变量键在最近的版本中有所更改(>18)。要设置数据库连接参数,您将使用以下键(值是示例):型