跳转至

优化故障转移延迟灵敏度

多云支持应用的跨集群自动故障转移,从而保障应用在多个集群部署的稳定性。影响故障转移的延时时效的主要有以下 2 个维度的指标,需要组合配置才能最终达到延迟灵敏度的效果。

  1. 集群维度:标记集群为不健康的检查时长、集群驱逐容忍时长
  2. 工作负载维度:集群污点容忍时长

Failover 特性介绍

在 DCE 5.0 多云编排中启用了 failover 之后,提供了以下一些参数配置选项:

参数 定义 描述 字段名EN 字段名ZH 默认值
ClusterMonitorPeriod 检查周期间隔 检查集群状态的时间间隔 Check Internal 检查时间间隔 60s
ClusterMonitorGracePeriod 运行中标记集群不健康检查时长 集群运行中,超过此配置时间未获取集群健康状态信息,将集群标记为不健康 The runtime marks the duration of an unhealthy check 运行时标记不健康检查时长 40s
ClusterStartupGracePeriod 启动时标记集群不健康的检查时长 集群启动时,超过此配置时间未获取集群健康状态信息,将集群标记为不健康 Mark health check duration at startup 启动时标记健康检查时长 600s
FailoverEvictionTimeout 驱逐容忍时长 集群被标记为不健康后,超过此时长会给集群打上污点,并进入驱逐状态 (集群会增加驱逐污点) Eviction tolerance time 驱逐容忍时长 30s
ClusterTaintEvictionRetryFrequency 优雅驱逐超时时长 进入优雅驱逐队列后,最长等待时长,超时后会立即删除 Graceful ejection timeout duration 优雅驱逐超时时长 5s

工作负载被驱逐的时间线

简单解释下图:我们规定 10s 调用一次集群的 API 用以记录集群的健康状态,当四次结果均为健康时,我们才认定集群是健康状态。 此时我们将 DCE 与集群 APIserver 之间的 TCP 断开 10s-20s 之内,若没有获取到集群的健康状态将认为集群异常, 指定时间内若集群没有恢复健康,将被标记为非健康状态,同时打上 NoSchedule 的污点,超过指定的驱逐容忍时长后,将被打上 NoExecute 的污点,最终被驱逐。

时间线

多云实例的优化配置

多云实例需要进入高级设置->故障转移部分,以下配置可参考上图填写参数信息。

故障转移

多云工作负载的配置优化

多云工作负载主要和其部署策略(PP)相关,需要在部署策略中修改对应的集群污点容忍时长。

工作负载

评论