Keycloak API returns 401 unauthorized sometimes
Keycloak API returns 401 unauthorized sometimes
我通过官方 helm chart 在 kubernetes 上安装了 keycloak。我在 statefulset 上有 2 个副本。我已经创建了一个领域并将 admin-cli 客户端配置为机密。当我通过此客户端(使用正确的客户端密码)请求令牌时,我得到了令牌,当我尝试创建用户时,有时 curl 有效,有时我会遇到未经授权的错误。我试图只设置 1 个副本并且总是工作正常,但是如果副本超过 1 个,curl 有时会工作,有时不会。我认为问题出在 pods 之间,pods 之间的同步或类似问题。谁能帮帮我?
谢谢
仅仅设置2个副本并不意味着Keycloak在集群中运行,它只是一个K8s集群,而不是Keycloak集群。如果你不告诉它,Keycloak 怎么知道?
您必须正确配置 Infinispan 和 JGroups,使用一些 *_PING
节点发现方法。尝试使用 JDBC_PING
、DNS_PING
或 KUBE_PING
。有关详细信息,请参阅 JGroups docs。
例如,另请参阅我关于 Keycloak 集群的 YouTube 视频:https://youtu.be/P96VQkBBNxU
我通过官方 helm chart 在 kubernetes 上安装了 keycloak。我在 statefulset 上有 2 个副本。我已经创建了一个领域并将 admin-cli 客户端配置为机密。当我通过此客户端(使用正确的客户端密码)请求令牌时,我得到了令牌,当我尝试创建用户时,有时 curl 有效,有时我会遇到未经授权的错误。我试图只设置 1 个副本并且总是工作正常,但是如果副本超过 1 个,curl 有时会工作,有时不会。我认为问题出在 pods 之间,pods 之间的同步或类似问题。谁能帮帮我?
谢谢
仅仅设置2个副本并不意味着Keycloak在集群中运行,它只是一个K8s集群,而不是Keycloak集群。如果你不告诉它,Keycloak 怎么知道?
您必须正确配置 Infinispan 和 JGroups,使用一些 *_PING
节点发现方法。尝试使用 JDBC_PING
、DNS_PING
或 KUBE_PING
。有关详细信息,请参阅 JGroups docs。
例如,另请参阅我关于 Keycloak 集群的 YouTube 视频:https://youtu.be/P96VQkBBNxU