5.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-host 1 value: "infinispan.keycloak.svc" - name: cache-remote-port 2 value: "11222" - name: cache-remote-username 3 secret: name: remote-store-secret key: username - name: cache-remote-password 4 secret: name: remote-store-secret key: password - name: spi-connections-infinispan-quarkus-site-name 5 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,则站点名称必须在每个站点中有所不同。
5.5.1. 架构
这使用 TLS 1.3 保护的 TCP 连接将 Keycloak 的红帽构建连接到 Data Grid。它使用红帽构建的 Keycloak 的信任存储来验证 Data Grid 的服务器证书。因为红帽构建的 Keycloak 是使用 OpenShift 在下面列出的先决条件中的 Operator 部署,Operator 已将 service-ca.crt
添加到用于为 Data Grid 的服务器证书签名的信任存储中。在其他环境中,将所需的证书添加到红帽构建的 Keycloak 的信任存储中。