更新时间:2024-06-17 GMT+08:00

负载伸缩概述

为什么需要负载伸缩

由于企业应用流量的不断变化,容器工作负载的资源需求也在不断变化。在部署、管理容器工作负载时,若时刻保持业务高峰期的资源数量,会造成大量的资源浪费;若为工作负载设置资源限制,则达到资源使用上限后可能会造成应用异常。Kubernetes中的HPA(Horizontal Pod Autoscaler)策略可基于监控资源指标变动实现单集群工作负载自动扩缩,暂不适用于多集群工作负载。

UCS为您提供多集群工作负载的自动扩缩能力。UCS负载伸缩能力可基于工作负载的系统指标变动、自定义指标变动或固定的时间周期对工作负载进行自动扩缩,以提升多集群工作负载的可用性和稳定性。

UCS负载伸缩的优势

UCS负载伸缩能力的优势主要在于:

  • 多集群:多集群场景下的负载伸缩,可以对集群联邦中的多个集群实行统一的负载伸缩策略。
  • 高可用:在业务高峰期快速扩容以保证工作负载的可用性,在业务平缓期快速缩容以节约资源成本。
  • 多功能:支持基于系统指标变动、自定义指标变动和固定时间周期进行负载伸缩,实现复杂场景下的负载伸缩。
  • 多场景:使用场景广泛,典型的场景包含在线业务弹性、大规模计算训练、深度学习GPU或共享GPU的训练与推理。

负载伸缩实现机制

UCS的负载伸缩能力是由FederatedHPA和CronFederatedHPA两种负载伸缩策略所实现的,如图1所示。

  • 创建FederatedHPA策略,支持基于系统指标与自定义指标对工作负载进行扩缩。指标到达所配置的期望值时,触发工作负载扩缩。
  • 创建CronFederatedHPA策略,支持基于固定时间周期对工作负载进行扩缩。到达所配置的触发时间时,触发工作负载扩缩。
图1 负载伸缩策略机制

约束与限制

  • UCS负载伸缩策略只能作用于无状态工作负载。若您需要了解不同类型工作负载的区别,请参见工作负载
  • UCS负载伸缩策略只专注于扩缩工作负载中的Pod数量,若您需要将扩展出的Pod调度至特定集群,请按需配置工作负载的调度策略,具体操作请参见调度策略