9.5. 使用红帽构建的 Keycloak 连接 Data Grid
现在,Data Grid 服务器正在运行,以下是需要与红帽构建的 Keycloak CR 更改相关的红帽构建,以将其连接到红帽构建的 Keycloak。使用红帽构建的 Keycloak Operator 章节,在 Deploy Red Hat build of HA 中需要这些更改。
使用用户名和密码创建一个 Secret,以连接到外部 Data Grid 部署:
apiVersion: v1 kind: Secret metadata: name: remote-store-secret namespace: keycloak type: Opaque data: username: ZGV2ZWxvcGVy # base64 encoding for 'developer' password: c2VjdXJlX3Bhc3N3b3Jk # base64 encoding for 'secure_password'使用
additionalOptions扩展 Red Hat build of Keycloak 自定义资源,如下所示。注意所有内存、资源和数据库配置都会从 CR 跳过,因为 使用红帽构建的 Keycloak Operator 章节部署红帽构建的 Keycloak for HA 所述。管理员应使这些配置保持不变。
apiVersion: k8s.keycloak.org/v2alpha1 kind: Keycloak metadata: labels: app: keycloak name: keycloak namespace: keycloak spec: additionalOptions: - name: cache-remote-host1 value: "infinispan.keycloak.svc" - name: cache-remote-port2 value: "11222" - name: cache-remote-username3 secret: name: remote-store-secret key: username - name: cache-remote-password4 secret: name: remote-store-secret key: password - name: spi-connections-infinispan-quarkus-site-name5 value: keycloak- 1 1
- 远程 Data Grid 集群的主机名。
- 2 2
- 远程 Data Grid 集群的端口。这是可选的,默认为
11222。 - 3 3
- 带有 Data Grid 用户名凭证的 Secret
名称和密钥。 - 4 4
- 使用 Data Grid 密码凭证的机密名称和密钥。
- 5 5
spi-connections-infinispan-quarkus-site-name是一个任意 Data Grid 站点名称,使用远程存储时,红帽为其 Infinispan 缓存部署构建 Keycloak 需求。此 site-name 仅与 Infinispan 缓存相关,不需要与外部 Data Grid 部署中的任何值匹配。如果您在跨DC设置中使用多个站点进行红帽构建的 Keycloak,如使用 Data Grid Operator 为 HA 部署 Data Grid,则站点名称必须在每个站点中有所不同。
9.5.1. 架构 复制链接链接已复制到粘贴板!
这使用 TLS 1.3 保护的 TCP 连接将 Keycloak 的红帽构建连接到 Data Grid。它使用红帽构建的 Keycloak 的信任存储来验证 Data Grid 的服务器证书。因为红帽构建的 Keycloak 是使用 OpenShift 在下面列出的先决条件中的 Operator 部署,Operator 已将 service-ca.crt 添加到用于为 Data Grid 的服务器证书签名的信任存储中。在其他环境中,将所需的证书添加到红帽构建的 Keycloak 的信任存储中。