负载伸缩概述
为什么需要负载伸缩
由于企业应用流量的不断变化,容器工作负载的资源需求也在不断变化。在部署、管理容器工作负载时,若时刻保持业务高峰期的资源数量,会造成大量的资源浪费;若为工作负载设置资源限制,则达到资源使用上限后可能会造成应用异常。Kubernetes中的HPA(Horizontal Pod Autoscaler)策略可基于监控资源指标变动实现单集群工作负载自动扩缩,暂不适用于多集群工作负载。
UCS为您提供多集群工作负载的自动扩缩能力。UCS负载伸缩能力可基于工作负载的系统指标变动、自定义指标变动或固定的时间周期对工作负载进行自动扩缩,以提升多集群工作负载的可用性和稳定性。
UCS负载伸缩的优势
UCS负载伸缩能力的优势主要在于:
- 多集群:多集群场景下的负载伸缩,可以对集群联邦中的多个集群实行统一的负载伸缩策略。
- 高可用:在业务高峰期快速扩容以保证工作负载的可用性,在业务平缓期快速缩容以节约资源成本。
- 多功能:支持基于系统指标变动、自定义指标变动和固定时间周期进行负载伸缩,实现复杂场景下的负载伸缩。
- 多场景:使用场景广泛,典型的场景包含在线业务弹性、大规模计算训练、深度学习GPU或共享GPU的训练与推理。
负载伸缩实现机制
UCS的负载伸缩能力是由FederatedHPA和CronFederatedHPA两种负载伸缩策略所实现的,如图1所示。
- 创建FederatedHPA策略,支持基于系统指标与自定义指标对工作负载进行扩缩。指标到达所配置的期望值时,触发工作负载扩缩。
- 创建CronFederatedHPA策略,支持基于固定时间周期对工作负载进行扩缩。到达所配置的触发时间时,触发工作负载扩缩。