华为云计算 云知识 CCE弹性伸缩,让您的业务以最小成本运行-华为云
CCE弹性伸缩,让您的业务以最小成本运行-华为云

弹性伸缩 是指在集群资源不足时,通过自动调整集群的规模以提高集群的承载能力,从而保证用户体验和系统服务的稳定性,而在集群负载很低时,能够自动释放多余的资源,从而保障集群资源始终足以支撑业务负载,同时最大化节约成本。

华为云的 云容器引擎 CCE基于Kubernetes开发了强大的弹性伸缩能力,可以根据业务需求和策略,经济地自动调整弹性计算资源,让您的业务以最小成本运行。其基本能力包括:

1.png

弹性伸缩的目的

一般来讲,弹性伸缩主要用来解决两个问题:

应对突发流量

随着抢购、秒杀的兴起,要求电商能够具备集中时间内应对超大请求量的处理能力,同时国内外大事频发,娱乐圈也是“吃瓜”不断,社交媒体瞬间暴涨的流量潮汐已经成为了面向新十年 数字化 升级的首要任务。

节省资源

瞬时扩容带来的运维成本高、运维难度大,扩容缩容如何 自动化 的根据业务负载最有效的匹配调整业务资源占用,如何在不损失服务稳定性的前提下,尽可能地提高资源利用率,一直是弹性伸缩方案不懈的目标。

华为云CCE,通过极致弹性应对流量洪峰

CCE能够提供快速扩容缩容能力,实现千级规模容器集群秒级极速发放,同时提供自动识别扩容场景,灵活响应告警、定时、周期、预测四种伸缩策略,实现虚拟机的极速弹性伸缩,通过智能化策略和极速弹性的云扩容能力,解决了业务的流量承载压力。CCE的弹性伸缩分为两个维度:

工作负载伸缩(调度层弹性):主要是负责修改负载的调度容量变化。例如,HPA是典型的调度层弹性组件,通过HPA可以调整应用的副本数,调整的副本数会改变当前负载占用的调度容量,从而实现调度层的伸缩。

节点伸缩(资源层弹性):主要是集群的容量规划不能满足集群调度容量时,会通过弹出ECS或CCI等资源的方式进行调度容量的补充。

两个维度的弹性组件与能力可以分开使用,也可以结合在一起使用,并且两者之间是通过调度层面的容量状态进行解耦。

 

 

CCE的工作负载伸缩

CCE通过安装prometheus、metrics-server、cce-hpa-controller等插件,可以提供HPA和CustomedHPA两种工作负载的伸缩策略,能够实现对Pod的横向和纵向伸缩。

两种伸缩策略的对比如下:

  • HPA策略:即Horizontal Pod Autoscaling,是Kubernetes中实现POD水平自动伸缩的功能。该策略在kubernetes社区HPA功能的基础上,增加了HPA级别的冷却时间窗和扩缩容阈值等功能。CCE支持在控制台界面上快速创建支持HPA的应用,实现容器资源的弹性伸缩。

  • CustomedHPA策略:华为云自研的弹性伸缩增强能力,能够基于CPU利用率、内存利用率等指标,对无状态工作负载进行弹性扩缩容。

主要功能如下:

  • 支持按照当前实例数的百分比进行扩缩容。

  • 支持设置一次扩缩容的最小步长。

  • 支持按照实际指标值执行不同的扩缩容动作。

  • 支持每天、每周、每月或每年的具体时间点周期性触发扩缩容。

 

CCE的节点伸缩

CCE服务的自动伸缩能力是通过节点自动伸缩组件实现的,可以根据Pod的调度状态和资源使用情况对集群的工作节点进行自动扩容和缩容,可以按需弹出普通实例、GPU实例,支持多可用区、多实例规格、多种伸缩模式,满足不同的节点伸缩场景。

主要功能如下:

  • 支持按照节点的“CPU分配率”或“内存分配率”进行扩缩容。

  • 支持按照实际指标值执行不同的扩缩容动作。

什么是 云容器 引擎

华为云云容器引擎( Cloud Container Engine ,简称CCE)提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行容器。借助云容器引擎,您可以在云上轻松部署、管理和扩展容器化应用程序。

云容器引擎深度整合了华为云高性能的计算(ECS/BMS)、网络(VPC/EIP/ELB)、存储(EVS/OBS/ SFS )等服务,并支持GPU、ARM、FPGA等异构计算架构,支持多可用区(Available zone,简称AZ)、多区域(Region)容灾等技术构建高可用Kubernetes集群,并提供高性能可伸缩的容器应用管理能力,简化集群的搭建和扩容等工作,让您专注于容器化应用的开发与管理。

上一篇:查询租户配额queryQuota 下一篇:API开放平台建议实践路径

弹性伸缩 AS

弹性伸缩(Auto Scaling)可根据用户的业务需求和预设策略,自动调整计算资源,使云服务器数量自动随业务负载增长而增加,随业务负载降低而减少,保证业务平稳健康运行