怎样找回网站备案密码,怎样提高网站的排名,排版设计工作内容,沧州seo随着云原生技术的发展#xff0c;其应用场景不断扩大。越来越多的企业开始将应用程序部署在 Kubernetes 集群中#xff0c;随着 Kubernetes 集群规模的不断扩大#xff0c;也带来了许多管理挑战#xff0c;例如多集群间负载均衡、资源调度、故障转移等问题。为了解决这些问…随着云原生技术的发展其应用场景不断扩大。越来越多的企业开始将应用程序部署在 Kubernetes 集群中随着 Kubernetes 集群规模的不断扩大也带来了许多管理挑战例如多集群间负载均衡、资源调度、故障转移等问题。为了解决这些问题Karmada 多集群管理平台应运而生同时还提供了强大的故障转移能力。
在多云多集群场景中为了提高业务的高可用性工作负载可能会被部署在多个不同的集群。在 Karmada 中当集群发生故障或是用户不希望在某个集群上继续运行工作负载时集群状态将被标记为不可用并被添加上一些污点。Taint-manager 检测到集群故障之后会从这些故障集群中驱逐工作负载被驱逐的工作负载将被调度至其他最适合的集群从而达成故障迁移的目的保证了用户业务的可用性与连续性。 一、故障迁移的场景
为何需要故障转移下面来介绍一些多集群故障迁移的场景 管理员在 Karmada 控制面部署了一个离线业务并将业务 Pod 实例分发到了多个集群。突然某个集群发生故障管理员希望 Karmada 能够把故障集群上的 Pod 实例迁移到其他条件适合的集群中 普通用户通过 Karmada 控制面在某一个集群上部署了一个在线业务业务包括服务器实例、配置文件等服务通过控制面上的 ELB 对外暴露此时某一集群发生故障用户希望把整个业务能迁移到另一个情况较适合的集群上业务迁移期间需要保证服务不断服 管理员将某个集群进行升级作为基础设施的容器网络、存储等发生了改变管理员希望在集群升级之前把当前集群上的应用迁移到其他适合的集群中去业务迁移期间需要保证服务不断服。 二、如何进行故障迁移 上图展示了两种不同的迁移方式
Karmada 支持用户设置分发策略在集群发生故障后将故障集群实例进行自动的集中式或分散式的迁移。如图用户在 Karmada 中加入了三个集群分别为member1、member2 和 member3。
在 Karmada 的控制面部署了一个副本数为 3 的工作负载并通过部署策略PropagationPolicy将其分发到了集群 member1 和 member2 上。当集群 member1发生故障之后其工作负载上的 Pod 实例将会被驱逐通过 PropagationPolicy/ClusterPropagationPolicy 的副本调度策略 ReplicaSchedulingStrategy 来控制 Pod 被全部迁移到集群 member2 或是分散迁移至两个集群中。 三、工作负载被驱逐的时间线
下面通过示例简单讲解在 DCE 5.0 多云编排模块中一个工作负载被驱逐的时间线
首先每一段时间调用一次集群的 API 用以记录集群的健康状态当集群状态始终为健康时我们认定集群的健康状态正常。此时我们将 DCE 与集群 APIserver 之间的 TCP 断开10s-20s 之内若没有获取到集群的健康状态将认为集群异常被标记为非健康状态同时打上 NoSchedule 的污点如果集群的不健康状态持续一段时间在指定时间内若集群仍然没有恢复健康超过指定的驱逐容忍时长后将被打上 NoExecute 的污点最终被驱逐。 四、影响故障转移时效的指标
在 Karmada 中启用了 Failover 之后Karmada 提供了几个参数配置选项与上图对应分别为
ClusterMonitorPeriod检查集群状态的时间间隔默认 60s
ClusterMonitorGracePeriod运行中标记集群不健康检查时长默认 40s
ClusterStartupGracePeriod启动时标记集群不健康的检查时长默认 600s
FailoverEvictionTimeout驱逐容忍时长集群被标记为不健康后超过此时长会给集群打上污点并进入驱逐状态默认 30s
ClusterTaintEvictionRetryFrequency优雅驱逐超时时长进入优雅驱逐队列后最长等待时长超时后会立即删除默认 5s。
影响故障转移的延时时效的主要有以下 2 个维度的指标需要组合配置才能最终达到延迟灵敏度的效果。如何使配置过程更加友好在我们的 DCE 5.0 多云编排模块中我们将故障转移的相关配置表单化能够降低用户的使用门槛同时提高配置的成功率。 1. 集群维度标记集群为不健康的检查时长、集群驱逐容忍时长。 2. 工作负载维度集群污点容忍时长。 当用户创建资源 PropagationPolicy/ClusterPropagationPolicy 后Karmada 会通过 webhook 为它们自动增加如下集群污点容忍 五、优化故障转移时效的优势
1、提高应用程序的可靠性和可用性
Karmada 故障转移功能可以确保工作负载在节点或集群出现故障时不会直接停机从而提高应用程序的可靠性和可用性。这对于一些已经部署了庞大的业务系统的企业来说是非常重要的。 2、提供快速的恢复能力
Karmada 故障转移功能能够快速迁移工作负载到健康节点或集群上从而缩短节点恢复的时间减少业务停机时间大大节约企业的成本和时间。 3、避免业务流量损失
Karmada 故障转移功能能够及时将故障的工作负载迁移至健康节点或集群从而避免业务流量损失。
今后相信随着云原生技术的不断发展和完善Karmada 的故障转移功能在未来能够更加广泛地应用到各个领域为企业的业务提供更好的保障。