配置 Keycloak 以在 Kubernetes 中使用多个领域

Configuring Keycloak to use multiple realms in Kubernetes

我目前在我的 Kubernetes 集群中使用 jboss/keycloak:12.0.4 容器,具有单一领域配置。配置文件通过 configmap 挂载。 配置文件当前看起来像 {...realm1...}。现在我还需要三个领域并且我有 read,我可以将多个领域配置放入一个数组中。

[
{...realm1...},
{...realm2...}
]

不幸的是,这对我来说不起作用。容器正在崩溃,在日志中我收到错误消息:“启动期间出错:java.lang.RuntimeException:无法解析 json”。我看到人们正在将选项 -Dkeycloak.migration.provider=singleFile 添加到他们的 docker 命令中,但我没有那样的 Kubernetes。如何实现包含多个领域?

因为您使用的是 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 which provides a CRD for KeycloakRealms