13.2. 架构
为确保用户请求路由到每个红帽构建的 Keycloak 站点,我们需要使用负载均衡器。为了防止客户端上 DNS 缓存出现问题,实施应使用在将客户端路由到两个可用区时保持不变的静态 IP 地址。
在本章中,我们描述了如何通过 AWS Global Accelerator 负载均衡器路由所有红帽构建的 Keycloak 客户端请求。如果红帽构建的 Keycloak 站点构建失败,则加速器确保所有客户端请求都路由到剩余的健康站点。如果两个站点都标记为不健康,则加速器将"fail-open"并将请求转发到随机选择的站点。
图 13.1. AWS Global Accelerator Failover
在两个 ROSA 集群上都创建一个 AWS Network Load Balancer (NLB),以便将 Keycloak pod 作为 Endpoints 提供给 AWS 全局加速器实例。每个集群端点都会被分配一个 128 (最大权重为 255)的权重),以确保在两个集群都健康时加速器流量平均路由到两个可用区。