Karmada v1.3:更优雅 更精准 更高效
· 阅读需要 1 分钟
Karmada是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容Kubernetes原生API的能力,Karmada可以平滑迁移单集群工作负载,并且仍可保持与Kubernetes周边生态工具链协同。
在最新发布的1.3版本中,Karmada重新设计了应用跨集群故障迁移功能,实现了基于污点的故障驱逐机制,并提供平滑的故障迁移过程,可以有效保障服务迁移过程的连续性(不断服)。
本版本新增加的特性:
- 增加了面向多集群的资源代理新特性,通过该代理平台业务方可以在不感知多集群的情况下,以单集群访问姿势直接操纵部署在多集群的工作负载;
- 提供针对集群资源建模能力,通过自定义的集群资源模型,调度器可以更精准地进行资源调度;
- 提供基于Bootstrap令牌来注册Pull模式集群的能力,不仅可以简化集群注册过程,还可以方便地进行权限控制;
此外,基于生产环境的用户反馈,本版本还进行了诸多性能优化,系统运行过程中CPU和内存资源需求大大降低,详细的性能测试报告稍后发布。
与之前版本一样,v1.3与前面的版本仍然保持兼容,前面版本的用户仍可以平滑升级。
新特性概览
基于污点的优雅驱逐
当集群被判定为故障,并且故障时间超过宽限期(默认5分钟)之后,Karmada将为故障集群添加NoExecute污点,随后新引入的taint-manager控制器将开始驱逐该故障集群上的工作负载,接着调度器重新调度被驱逐的工作负载至新的可用集群,如果用户开启了GracefulEviction特性,被驱逐的工作负载并不会被立即删除,而是延迟到新的工作负载运行之后,可以保障驱逐过程中业务不中断。
整体故障迁移过程可以表示成:"