首页 > 解决方案 > 在 Kubernetes 中配置 Keycloak 以使用多个领域

问题描述

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

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

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

标签: kuberneteskeycloak

解决方案


由于您使用的jboss/keycloak:12.0.4是我假设您设置了KEYCLOAK_IMPORT环境变量,对吗?

docker 容器将此环境变量映射-Dkeycloak.import=....

如果您想以这种方式导入多个领域,您可能只想将每个领域添加到一个文件中,并将它们添加为逗号分隔的列表。

所以KEYCLOAK_IMPORT=/tmp/realm1.json,/tmp/realm2.json变成-Dkeycloak.import=/tmp/realm1.json,/tmp/realm2.json

有关详细信息,请参阅服务器管理指南(向下滚动到章节末尾Export and Import)。

您可能还想查看为 KeycloakRealms提供CRD 的Keycloak 运算符


推荐阅读