配置和验证跨集群故障切换
本文档以 Bookinfo 应用为例,说明如何基于多集群服务网格实现应用的跨集群故障切换。
目录
步骤
-
在左侧导航栏,点击 Service Mesh > Mesh。
-
点击要配置的 服务网格名称。
-
在 Mesh Policies 标签页中,点击集群
c1右侧的 Create Policy > Circuit Breaker。NOTE-
如果没有特殊要求,使用默认参数。
-
如果服务未配置 Circuit Breaker Policy,则该服务的 Failover 配置不会生效,入口流量会在服务网格中所有集群的服务 Pod 之间随机转发。若服务配置了 Circuit Breaker Policy,入口流量将在该服务所在集群内路由,直到该集群内所有 Pod 都被触发熔断。
-
-
在 Mesh Policies 标签页中,点击集群
c1右侧的 Create Policy > Regional Load Balancing。 -
选择 Failover 作为 Policy Type,并按下表说明配置相关参数。
NOTE配置故障切换策略后,当失败地域集群中的服务 Pod 被触发熔断且该集群服务 Pod 的健康比例低于 71.43%(100/Overprovisioning Factor),该集群部分入口流量将优先转发至灾备地域集群中的服务 Pod。
例如,配置了集群
c1的故障切换策略(灾备地域为集群c2所在地域),若失败地域集群c1中 productpage 服务 Pod 的健康比例为 50%,则集群c1中该服务的流量有50% * 1.4 = 70%由失败地域集群c1的服务 Pod 处理,剩余 30% 由灾备地域集群c2的服务 Pod 处理。
若未设置故障切换,流量将在网格内各集群间随机转发。详情请参见优先级级别。
-
点击 Create。
验证方法
-
在顶部导航栏,点击产品视图切换,切换到 Container Platform,进入集群
c1下的命名空间ns1。 -
在左侧导航栏,点击 Compute Components > Deployments。
-
点击 productpage 的 Deployment 名称。
-
点击右上角的 Stop,停止 productpage 的所有 Pod。
-
参考 productpage 服务的访问验证方法,基于集群
c1部署的网关创建的路由配置(External Access Address)持续访问 productpage 服务。注意:如果 Bookinfo 应用仍能正常访问,说明已实现跨集群故障切换。你还可以进入 Service Mesh 平台,通过查看服务拓扑(跨集群)和调用链,进一步验证流量转发情况。