我目前在我的 Kubernetes 集群中使用 jboss/keycloak:12.0.4 容器和单一领域配置。配置文件通过 configmap 挂载。 配置文件目前看起来像 {...realm1...}。现在我需要另外三个领域,并且我有 read,我可以将多个领域配置放入一个数组中。
[
{...realm1...},
{...realm2...}
]
不幸的是,这对我不起作用。容器崩溃了,我在日志中收到错误消息:“启动时出错:java.lang.RuntimeException:解析 json 失败”。我看到人们在他们的 docker 命令中添加了选项 -Dkeycloak.migration.provider=singleFile
,但我没有这样的 Kubernetes 选项。如何实现包含多个领域?
答案 0 :(得分:3)
既然您使用的是 jboss/keycloak:12.0.4
,我假设您设置了 KEYCLOAK_IMPORT
环境变量,对吗?
docker 容器 maps this environment variable 到 -Dkeycloak.import=...
。
如果您想以这种方式导入多个领域,您可能只想将每个领域添加到一个文件中,并将它们添加为逗号分隔的列表。
所以 KEYCLOAK_IMPORT=/tmp/realm1.json,/tmp/realm2.json
变成 -Dkeycloak.import=/tmp/realm1.json,/tmp/realm2.json
有关详细信息,请参阅 server administration guide(向下滚动至第 Export and Import
章末尾)。
您可能还想查看提供 Keycloak operator 的 CRD for KeycloakRealms。