2.13. 使用 Operator 在多个可用区部署红帽构建的 Keycloak
使用红帽构建的 Keycloak Operator 作为构建块,部署红帽构建的 Keycloak 以实现高可用性。
本章论述了 OpenShift 的 Keycloak 配置的高级红帽构建,这些配置已测试,并将恢复可用性区域失败。
这些说明 适用于单集群部署 一章中介绍的设置。将其与构建块 单集群部署一章中介绍的其他构建块 一起使用。
2.13.1. 先决条件 复制链接链接已复制到粘贴板!
- 在多个可用区部署的 OpenShift 集群,为每个配置了一个 worker-pool。
- 了解使用 红帽构建的 Keycloak Operator 进行红帽构建的 Keycloak 部署的基本红帽构建。
- 使用在 多个可用区中的 Deploying AWS Aurora 部署的 AWS Aurora 数据库。
2.13.2. 流程 复制链接链接已复制到粘贴板!
- 确定使用 概念调整 CPU 和内存资源章节的部署大小。
- 按照 Red Hat build of Keycloak Operator 安装中的内容 安装 Red Hat build of Keycloak Operator。
- 请注意,以下配置文件包含与 多个可用区部署 AWS Aurora 中连接到 Aurora数据库相关的选项
- 构建自定义红帽构建的 Keycloak 镜像,准备与 Amazon Aurora PostgreSQL 数据库一起使用。
使用在第一步中计算的资源请求和限值,使用以下值部署红帽 Keycloak CR:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.13.3. 验证部署 复制链接链接已复制到粘贴板!
确认红帽构建的 Keycloak 部署已就绪。
oc wait --for=condition=Ready keycloaks.k8s.keycloak.org/keycloak oc wait --for=condition=RollingUpdate=False keycloaks.k8s.keycloak.org/keycloak
oc wait --for=condition=Ready keycloaks.k8s.keycloak.org/keycloak
oc wait --for=condition=RollingUpdate=False keycloaks.k8s.keycloak.org/keycloak
2.13.4. 可选: Load shedding 复制链接链接已复制到粘贴板!
要启用负载均衡,请限制排队的请求数。
使用最大排队的 http 请求加载她
spec:
additionalOptions:
- name: http-max-queued-requests
value: "1000"
spec:
additionalOptions:
- name: http-max-queued-requests
value: "1000"
所有超过的请求都使用 HTTP 503 提供。
您可以考虑进一步限制 http-pool-max-threads 的值,因为在达到请求的 CPU 限制后,OpenShift 会导致 OpenShift 节流。
有关详细信息 ,请参阅有关配置线程池 的概念 一章。
2.13.5. 可选:禁用粘性会话 复制链接链接已复制到粘贴板!
当在 OpenShift 上运行以及由 Red Hat build of Keycloak Operator 提供的默认 passthrough Ingress 设置时,HAProxy 所做的负载均衡会根据源的 IP 地址使用粘性会话来实现。在运行负载测试时,或者在 HAProxy 前面运行反向代理时,您可能需要禁用此设置以避免在单个红帽构建的 Keycloak Pod 上接收所有请求。
在红帽构建的 Keycloak 自定义资源的 spec 下添加以下补充配置,以禁用粘性会话。