弹性伸缩是根据业务需求和策略,自动调整计算资源的管理服务,典型的场景包含在线业务弹性、大规模计算训练、深度学习GPU或共享GPU的训练与推理等。本文介绍ACK Serverless集群支持的弹性伸缩方案。
方案 | 一句话介绍 | 扩缩依据的指标 | 使用场景 | 支持的资源类型 | 相关文档 |
HPA | 在业务负载上升时快速扩容Pod副本来缓解压力,在业务负载变小时适当缩容以节省资源,是最常用的应用弹性方案。 |
| 服务波动较大、服务数量多且需要频繁扩缩容的在线业务场景,例如电商服务、在线教育、金融服务等。 | Deployment、StatefulSet等支持 | |
CronHPA | 类似Crontab的策略定时对Pod进行扩缩容,支持配置时区、执行的日期、跳过执行的日期(例如节假日),支持和HPA协同使用。 | 定时扩缩容 | 业务流量有明显高峰时段、应用程序需要在特定时间执行任务等场景。 | Deployment、StatefulSet等 | |
VPA | 监控Pod的资源消耗模式,灵活推荐CPU和内存资源分配的配置,并在适当的情况下自动进行调整,而不调整Pod的副本数量。 | 推荐并自动调整Pod中容器的CPU及内存的Request和Limit | 需要稳定资源配置的有状态应用的扩容、大型单体应用等场景,通常是在Pod出现异常恢复时生效。 | Deployment、DaemonSet、StatefulSet等 | |
AHPA | 根据业务历史指标,自动、主动识别弹性周期并对容量进行预测,提前进行弹性规划,解决弹性滞后的问题。 |
| 业务流量有明显周期性的场景,例如直播、在线教育、游戏服务等。 | Deployment、Knative Service等 |
文档内容是否对您有帮助?