阿里云里面弹性怎么设置触发条件?

更多“在使用阿里云弹性伸缩(Auto Scaling)时,希望能根据计算资源的使用情况来增加或者减少云服务器ECS实例,如当CPU刟用率小于等于30%时则减少一台云服务器ECS实例,首先配置伸缩规则为“减少1台ECS”,然后还需要()来实现。”相关的问题

阿里云弹性伸缩(AutoScaling)是根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务,必须和________配合使用。

某规频直播公司采用阿里云弹性伸缩(AutoScaling)来实现动态添加或者减少云服务器ECS实例,来应对业务量的变化。由于该公司的系统刚上线不久,没有历史数据做参考,同时也不能预估业务量的变化,他们希望通过ECS实例资源的使用情况(比如CPU刟用率、系统负载Load等)来弹性伸缩计算资源。他们应该选择以下哪种伸缩模式?()

阿里云弹性伸缩(AutoScaling),是根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务。以下关于阿里云弹性伸缩的优势说法正确的有?()

A.伸缩模式丰富,可同时配置多种伸缩模式

B.根据需求分配资源,在无法准确预测业务变化时,解决业务连续性的问题

C.按规则自动创建和释放云服务器ECS实例,自动配置RDS访问白名单

D.根据设定策略自动调整弹性计算资源,满足业务波动性比较大的场景

E.支持多种阿里云产品的动态伸缩,包括云服务器ECS、云数据库RDS、负载均衡SLB以及表格存储(TableStore,原OTS)

阿里云弹性伸缩(AutoScaling)中,可以配置伸缩规则来定义具体的扩展和收缩操作。以下()是伸缩规则。

A.A.加入或移出3个云服务器ECS实例

B.B.配置周期性任务,每天13:00点定时触发

C.C.自动创建云服务器ECS实例时,使用的配置以及镜像

D.D.是否将不健康的云服务器ECS实例移出

阿里云弹性伸缩(Auto Scaling)可以根据用户配置的伸缩规则,自动调整云服务器ECS实例的个数,以满足业务需求。如果用户无法预测业务的变化情况,即无法准确的预测对计算资源的需求,也可以通过使用动态的伸缩模式,基于云监控性能指标(如CPU利用率等)自动增加或者减少云服务器ECS实例。()

阿里云弹性伸缩(AutoScaling)经常会和云服务器ECS、负载均衡SLB、云数据库RDS等产品配合使用,以下说法中正确的是()?()

A.A.弹性伸缩必须和云服务器ECS一起使用

B.B.弹性伸缩可以单独使用,不依赖于其他任何产品

C.C.弹性伸缩必须和云数据库RDS一起使用

D.D.弹性伸缩必须和负载均衡SLB一起使用

阿里云弹性伸缩(AutoScaling),是根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务。支持用户添加已有的云服务器ECS实例,但该云服务器ECS实例的状态必须为()。()

阿里云的云服务器ECS产品的应用非常广泛,既可以单独的作为Web服务器,也可以与其他阿里云产品配合提供多媒体解决方案。在多媒体、大流量的APP或网站应用场景下,云服务器ECS实例不阿里云的()产品,可以实现在业务量增长时自动增加ECS实例,并在业务量下降时自动减少ECS实例,保证满足访问量达到峰值时对资源的要求,同时降低了系统资源的拥有成本。

D.D.内容分发网络CDN

}

1.容器服务弹性伸缩简介

本小节将基于使用原理对容器服务弹性伸缩进行简要的描述。

本实践基于K8s的业务集群运行在专有云上,对测试业务进行压力测试,主要基于以下三种产品和能力:

利用阿里云的云企业网专线打通专有云和公共云,实现两朵云上VPC网络互通。

利用K8s(Kubernetes)的HPA能力,实现容器的水平伸缩。

当被测试业务指标达到上限时,触发HPA自动扩容业务pod;当业务集群无法承载更多pod时,触发公共云的ESS服务,在公共云内扩容出ECS并自动添加到专有云的K8s集群。

图1:容器服务弹性伸缩原理图

本次最佳实践的软件环境要求如下:

容器服务ACK基于专有云V3.10.0版本。

公共云云企业网服务CEN。

公共云弹性伸缩组服务ESS。

使用专有云的容器服务或者在ECS上手动部署敏捷PaaS。

开通云专线,打通容器服务所在VPC与公共云上的VPC。

开通公共云弹性伸缩组服务(ESS)。

本小节将介绍配置HPA的详细步骤。

HPA(Horizontal Pod Autoscaler)是K8s的一种资源对象,能够根据CPU、内存等指标对statefulset、deployment等对象中的pod数量进行动态伸缩,使运行在上面的服务对指标的变化有一定的自适应能力。

本示例创建了一个支持HPA的nginx应用,创建成功后,当pod的利用率超过本例中设置的20%利用率时,则会进行水平扩容,低于20%的时候会进行缩容。具体操作步骤如下。

①创建一个nginx应用,必须为应用设置request值,否则HPA不会生效。

3.1.2若使用阿里云容器服务,需要在部署应用时选择配置HPA

图2:阿里云容器服务配置HPA

节点自动伸缩组件基于K8s资源调度的分配情况进行伸缩判断,节点中资源的分配通过资源请求(Request)进行计算。

当pod由于资源请求(Request)无法满足并进入等待(Pending)状态时,节点自动伸缩组件会根据弹性伸缩组配置信息中的资源规格以及约束配置,计算所需的节点数目。

如果可以满足伸缩条件,则会触发伸缩组的节点加入。而当一个节点在弹性伸缩组中且节点上pod的资源请求低于阈值时,节点自动伸缩组件会将节点进行缩容。

因此资源请求(Request)的正确、合理设置,是弹性伸缩的前提条件。

①创建ESS弹性伸缩组,记录最小实例数和最大实例数。

图3:创建弹性伸缩组并配置-1

图4:创建弹性伸缩组并配置-2

②创建伸缩配置,记录伸缩配置的id。

参考ca.yml创建autoscaler,注意修改如下配置与实际环境相对应。

本小节将对最佳实践的运用场景进行说明。

启动busybox镜像,在pod内执行如下命令访问以上应用的service,可以同时启动多个pod增加业务负载。

加压后,当CPU值达到阈值后,会触发pod的水平扩容:

图8:触发pod水平扩容

当集群资源不足时,新扩容出的pod处于pending状态,此时将触发cluster autoscaler,自动扩容节点。

欢迎大家一起讨论,有需要云产品的同学点下面链接就可以.

}
简介:弹性伸缩作为Kubernetes的核心能力之一,但它一直是围绕这无状态的应用负载展开。而Fluid提供了分布式缓存的弹性伸缩能力,可以灵活扩充和收缩数据缓存。 它基于Runtime提供了缓存空间、现有缓存比例等性能指标, 结合自身对于Runtime资源的扩缩容能力,提供数据缓存按需伸缩能力。

随着越来越多的大数据和AI等数据密集应用开始部署和运行在Kubernetes环境下,数据密集型应用计算框架的设计理念和云原生灵活的应用编排的分歧,导致了数据访问和计算瓶颈。云原生数据编排引擎Fluid通过数据集的抽象,利用分布式缓存技术,结合调度器,为应用提供了数据访问加速的能力。

弹性伸缩作为Kubernetes的核心能力之一,但它一直是围绕这无状态的应用负载展开。而Fluid提供了分布式缓存的弹性伸缩能力,可以灵活扩充和收缩数据缓存。 它基于Runtime提供了缓存空间、现有缓存比例等性能指标, 结合自身对于Runtime资源的扩缩容能力,提供数据缓存按需伸缩能力。

这个能力对于互联网场景下大数据应用非常重要,由于多数的大数据应用都是通过端到端流水线来实现的。而这个流水线包含以下几个步骤:

  1. 数据提取,利用Spark,MapReduce等大数据技术对于原始数据进行预处理
  2. 模型训练,利用第一阶段生成特征数据进行机器学习模型训练,并且生成相应的模型
  3. 模型评估,通过测试集或者验证集对于第二阶段生成模型进行评估和测试
  4. 模型推理,第三阶段验证后的模型最终推送到线上为业务提供推理服务

可以看到端到端的流水线会包含多种不同类型的计算任务,针对每一个计算任务,实践中会有合适的专业系统来处理(TensorFlow,PyTorch,Spark, Presto);但是这些系统彼此独立,通常要借助外部文件系统来实现把数据从一个阶段传递到下一个阶段。但是频繁的使用文件系统实现数据交换,会带来大量的 I/O 开销,经常会成为整个工作流的瓶颈。

而Fluid对于这个场景非常适合,用户可以创建一个Dataset对象,这个对象有能力将数据分散缓存到Kubernetes计算节点中,作为数据交换的介质,这样避免了数据的远程写入和读取,提升了数据使用的效率。但是这里的问题是临时数据缓存的资源预估和预留。由于在数据生产消费之前,精确的数据量预估是比较难满足,过高的预估会导致资源预留浪费,过低的预估会导致数据写入失败可能性增高。还是按需扩缩容对于使用者更加友好。我们希望能够达成类似page cache的使用效果,对于最终用户来说这一层是透明的但是它带来的缓存加速效果是实实在在的。

我们通过自定义HPA机制,通过Fluid引入了缓存弹性伸缩能力。弹性伸缩的条件是当已有缓存数据量达到一定比例时,就会触发弹性扩容,扩容缓存空间。例如将触发条件设置为缓存空间占比超过75%,此时总的缓存空间为10G,当数据已经占满到8G缓存空间的时候,就会触发扩容机制。

下面我们通过一个例子帮助您体验Fluid的自动扩缩容能力。

8.查看这个Dataset是否处于可用状态, 可以看到该数据集的数据总量为2.71GiB, 目前Fluid提供的缓存节点数为1,可以提供的最大缓存能力为1GiB。此时数据量是无法满足全量数据缓存的需求。

首先,我们解读一下从样例配置,这里主要有两部分一个是扩缩容的规则,另一个是扩缩容的灵敏度:

  • 策略: 可以K8s 1.18以上的版本,可以分别针对扩容和缩容场景设置稳定时间和一次扩缩容步长比例。比如在本例子, 一次扩容周期为10分钟(periodSeconds),扩容时新增2个副本数,当然这也不可以超过 maxReplicas 的限制;而完成一次扩容后, 冷却时间(stabilizationWindowSeconds)为20分钟; 而缩容策略可以选择直接关闭。

11.查看HPA配置, 当前缓存空间的数据占比为0。远远低于触发扩容的条件

12.创建数据预热任务

13.此时可以发现缓存的数据量接近了Fluid可以提供的缓存能力(1GiB)同时触发了弹性伸缩的条件

从HPA的监控,可以看到Alluxio Runtime的扩容已经开始, 可以发现扩容的步长为2

14.在等待一段时间之后发现数据集的缓存空间由1GiB提升到了3GiB,数据缓存已经接近完成

Fluid提供了结合Prometheous,Kubernetes HPA和Custom Metrics能力,根据占用缓存空间的比例触发自动弹性伸缩的能力,实现缓存能力的按需使用。这样能够帮助用户更加灵活的使用通过分布式缓存提升数据访问加速能力,后续我们会提供定时扩缩的能力,为扩缩容提供更强的确定性。

Fluid的代码仓库: , 欢迎大家关注、贡献代码和star。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
}

我要回帖

更多关于 阿里云弹性伸缩和LBS之间的关系 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信