# 弹性伸缩概述
随着Kubernetes已经成为云原生应用编排、管理的事实标准，越来越多的应用选择向Kubernetes迁移，用户也越来越关心在Kubernetes上应用如何快速扩容面对业务高峰，以及如何在业务低谷时快速缩容节约资源与成本。
弹性伸缩在云容器引擎（CCE）上的应用非常广泛，典型的使用场景包括：
- **在线业务弹性**：在节假日、促销活动等高峰时段自动增加Pod和节点，处理更多用户请求；在低谷时段自动减少资源，降低成本。
- **大规模计算训练**：根据计算任务的需求动态调整Pod和节点数量，加快任务执行速度。
- **深度学习GPU训练与推理**：动态调整GPU资源的使用，确保训练和推理任务的高效执行；根据需求自动增加或减少GPU节点，提高资源利用率。
- **定时周期性负载变化**：在特定时间段内自动调整Pod和节点数量，处理定时任务的需求；根据任务的资源需求动态调整资源，确保任务顺利执行。
#### CCE弹性伸缩
**CCE的弹性伸缩能力分为如下两个维度：**
- **[工作负载弹性伸缩](https://support.huaweicloud.com/usermanual-cce/cce_10_0290.html)** **：**即调度层弹性，作用于Pod，通过调整Pod的数量或规格来适配负载变化。例如，通过HPA在高峰时段自动增加Pod数量，处理更多用户请求；在低谷时段自动减少Pod数量，节约资源。
- **[节点弹性伸缩](https://support.huaweicloud.com/usermanual-cce/cce_10_0296.html)** **：**即资源层弹性，支持根据Pod的资源调度情况，动态增加或减少计算资源（如ECS或CCI等），确保集群在高负载情况下拥有足够的资源，同时在低负载时期减少资源浪费。
两个维度的弹性组件与能力可以分开使用，也可以结合在一起使用，并且两者之间可以通过调度层面的容量状态进行解耦，详情请参见[使用HPA+CA实现工作负载和节点联动弹性伸缩](https://support.huaweicloud.com/usermanual-cce/cce_10_0300.html)。
#### 组件介绍
**工作负载弹性伸缩类型介绍**
表1工作负载弹性伸缩类型 
| 类型                  | 组件                                                                           | 组件介绍                                                                                                                                 | 参考文档                                                                              |
|:---|:---|:---|:---|
| HPA                | HorizontalPodAutoscaler（Kubernetes内置组件）                                       | HorizontalPodAutoscaler是Kubernetes内置组件，实现Pod水平自动伸缩（Horizontal Pod Autoscaling）的功能。CCE在Kubernetes社区HPA功能的基础上，增加了应用级别的冷却时间窗和扩缩容阈值等功能。 | [创建HPA策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0208.html)         |
| CustomedHPA  | [CCE容器弹性引擎](https://support.huaweicloud.com/usermanual-cce/cce_10_0240.html)  | CustomedHPA提供弹性伸缩增强能力，主要面向无状态工作负载进行弹性扩缩容。能够基于指标（CPU利用率、内存利用率）或周期（每天、每周、每月或每年的具体时间点）。                                               | [创建CustomedHPA策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0292.html) |
| CronHPA              | [CCE容器弹性引擎](https://support.huaweicloud.com/usermanual-cce/cce_10_0240.html) | CronHPA可以实现在固定时间段对集群进行扩缩容，并且可以和HPA策略共同作用，定时调整HPA伸缩范围，实现复杂场景下的工作负载伸缩。                                                              | [创建CronHPA定时策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0415.html)      |
| VPA                | [容器垂直弹性引擎](https://support.huaweicloud.com/usermanual-cce/cce_10_0920.html)    | Kubernetes中实现POD垂直自动伸缩的功能，即Vertical Pod Autoscaling。                                                                               | [创建VPA策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0921.html)         |
| AHPA             | [CCE容器弹性引擎](https://support.huaweicloud.com/usermanual-cce/cce_10_0240.html) | AHPA策略即Advanced Horizontal Pod Autoscaling，可以根据历史数据提前进行扩缩容动作。                                                                    | [创建AHPA策略](https://support.huaweicloud.com/usermanual-cce/cce_10_0934.html)       |
   
图1工作负载弹性伸缩   
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002267563698.png "点击放大")
**节点弹性伸缩类型介绍**
表2节点弹性伸缩类型 
| 组件名称                                                                           | 组件介绍                                                     | 适用场景                       | 参考文档                                                                               |
|:---|:---|:---|:---|
| [CCE集群弹性引擎](https://support.huaweicloud.com/usermanual-cce/cce_10_0154.html)      | Kubernetes社区开源组件，用于节点水平伸缩，CCE在其基础上提供了独有的调度、弹性优化、成本优化的功能。 | 全场景支持，适合在线业务、深度学习、大规模成本算力交付等。 | [节点自动伸缩](https://support.huaweicloud.com/usermanual-cce/cce_10_0209.html)         |
| [CCE突发弹性引擎（对接CCI）](https://support.huaweicloud.com/usermanual-cce/cce_10_0135.html) | 将Kubernetes API扩展到无服务器的容器平台（如CCI），无需关心节点资源。                | 适合在线突增流量、CI/CD、大数据作业等场景。      | [CCE容器实例弹性伸缩到CCI服务](https://support.huaweicloud.com/usermanual-cce/cce_10_0295.html) |
   
图2节点弹性伸缩   
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002302176637.png "点击放大")
