从特性来看,d性伸缩服务为构建d性可扩展的应用开发提供了以下两个方面的能力:
d性:自动管理d性计算资源的能力。在系统运行的整个生命周期,d性伸缩会自动根据系统运行情况,动态创建或释放资源,使我们的应用系统能够像生物体一样自动的扩张或收缩。在整个过程中不需要任何人工的干预;
可用性:可用性也是d性伸缩提供的重要功能。d性伸缩会自动监测应用的运行情况,如果发现某个节点的状态异常处于停止的状态,d性伸缩会自动将异常的节点从伸缩组中移除,并创建新的机器来替换。该特点能够极大提高系统的可用性。
下面我们一步一步讲解如何使用d性伸缩来构建高d性高可靠的应用集群。
创建伸缩组
使用d性伸缩服务的第一步是是创建一个新的伸缩组。伸缩组是我们管理部署在d性伸缩上业务的基本单元,基本上可以映射为一个应用或者一个集群。每一个伸缩组可以挂载多个SLB或者多个RDS实例。
9c2544ffef2a01732b6009ff8a5f6987138206f1
在创建伸缩组的对话框中,我们需要输入以下参数:
最大实例数:伸缩组内包含的最大实例数量。如果伸缩组内的实例数大于该参数,d性伸缩会自动按照释放规则将多余的实例移除伸缩组。
最小实例数:伸缩组内包含的最小实例数量。如果伸缩组内的实例数小于该参数,d性伸缩会自动创建新的按量实例来补齐缺失的数量。如果我们创建伸缩组时最小实例数不为零,则d性伸缩会自动创建相应的实例。所以,在新建伸缩组时,最小实例数最好设置为零。等待包年包月机器加入后,再将该参数调整为需要的数量。
冷却时间:d性伸缩活动的冷却时间,缺省为5分钟。该时间是指在某一个d性伸缩活动执行完成后,在冷却时间内所有的新的伸缩活动请求会被拒绝,即不允许执行新的伸缩活动。该时间设置有助于避免伸缩组的频繁伸缩。
释放策略:释放策略是当d性伸缩服务需要从伸缩组内释放实例时依据的策略,目前我们可以选择的策略包括:最早创建实例,最晚创建实例和最早伸缩配置创建的实例。如果我们希望包年包月的机器不要被移出伸缩组,则释放策略需要选择最早伸缩配置创建的实例加最早创建的实例。
网络类型:网络类型是配置d性计算资源所使用的网络环境,目前支持两种网络类型:经典网络和专有网络。如果选择专有网络,则我们还需要选择特定的VPC和特定的vSwitch。
负载均衡:负载均衡是伸缩组内ECS实例对外挂接的负载均衡。缺省情况下只支持一个服务均衡实例,如果我们想要挂接多个负载均衡器,则需要通过工单联系客服人员修改。
数据库:数据库是ECS实例需要的RDS资源。如果设置该数据库,d性伸缩会自动将新创建的ECS机器自动加入RDS白名单,保证ECS和RDS之间的连通性。如果我们不需要将ECS加入数据库白名单,则无需设置该选项。
伸缩组创建完成后,控制台会自动提示需要创建新的伸缩配置。下面我们会进入创建伸缩配置的步骤。
创建伸缩配置
伸缩配置是d性伸缩在自动创建计算资源时所使用的机型配置,如4核8G或者8核16G等。目前一个伸缩组可以拥有多个不同的伸缩配置,但是生效的伸缩组只允许有一个。
伸缩配置的第一步是选择需要的机型,这一步我们根据业务需要选择相应的机型即可。目前,ECS提供了三种机型:系列1、系列2和系列3。由于系列1的机型在后期会被逐步淘汰,导致按量机型的库存非常不稳定,我们一般使用系列2或者系列3的机型。
04280ca9df2f75f4489c087d6d812dc76ee5db16
在完成机型选择后,我们需要选择机器的网络配置。目前网络配置有两种:按使用流量和按使用带宽。如果我们希望自动创建的机器带有公网IP,则选择按使用流量或者按使用带宽并且带宽值不为零。如果不希望创建公网IP,则需要按照使用带宽并且带宽值为零。
51af2373dcf53bf0b4cc0473351fd76eeb4202ee
最后是选择系统镜像、系统盘和数据盘的信息。这一块的配置内容我们根据需要自行选择即可。需要注意的是,系统盘和数据盘的配置最好能够和镜像一一对应。如果选择系统盘太小或者数据盘太小,有可能导致系统无法启动或者启动速度过慢。
70681ad709a0204cf19167dbd28cc8c167a377dd
伸缩组创建完成后,控制台会自动提醒是否启用该伸缩配置。如果我们希望直接启用,则点击“启用”即可完成配置。
创建伸缩规则
下面的一步是创建伸缩规则,我们需要告诉系统创建或者释放多少台机器,控制台界面如下。
ce67c5f8aa23b60a5b956e16dae0454a2fdeb28d
在该对话框中,我们需要输入如下信息:
规则名称:该伸缩规则特定的名称,例如“增加3台机器”或者“减少2台机器”。
规则:具体的规则,目前我们能够选择三种选项:调整至,增加和减少。调整至是让伸缩组的实例数调整至多少数量。增加是为伸缩组增加多少台机器。减少是从现有伸缩组减少多少台机器。
冷却时间:伸缩规则的冷却时间,缺省使用伸缩组的冷却时间。
在创建完成伸缩组、伸缩配置和伸缩规则后,下一步是配置定时任务或者报警任务来触
开始时间:2021.08.01
结束时间:2021.10.08
愿意一起进步就每天点进来看看,如果哪里有错误请在评论下方指教。第一个百更是关于阿里ACP证书的考试,不了解阿里产品的最好还是先看下相关资料(后面有答案)。
1. 阿里云的资源是多地域(Region)、多可用区(Zone)部署的,通常来讲,同地域不下同可用区之间的距离大概在________范围。
A. 数百米
B. 数公里
C. 数十公里
D. 数百公里
2. 在阿里云的专有网络VPC中,________是用于连接VPC内的各个交换机的设备。
A. 路由器
B. 路由表
C. 云服务器ECS
D. 负载均衡SLB
3. 阿里云的d性伸缩主要可以提供的功能,下面说法错误的是?
A. 根据客户业务需求横向扩展ECS实例的容量,即自动增加和减少ECS实例,数量是有限制的。
B. 支持SLB负载均衡配置:在增加或减少ECS实例时,自动向SLB实例中添加或移除相应的ECS实例
C. 支持RDS访问白名单:在增加或减少ECS实例时,自动向RDS访问白名单中添加或移出该ECS实例的IP
D. 多模式兼容,可同时配置定时、动态、自定义、固定、健康模式,可通过API方便对接外在监控系统
4. 云盾是阿里云整体安全体系的一部分,为云上客户和阿里云自身提供多方面的安全保障功能。以下关于云盾的描述,正确的是________。
A. 是一款软件产品,用户开通云产品后需要安装才能使用
B. 是一款硬件产品
C. 是阿里云为用户提供的,包括安全漏洞检测、网页木马检测以及主机入侵检测、防DDoS攻击等功能的一站式安全服务
D. 云盾的所有功能都需要付费使用
5. 阿里云d性伸缩(Auto Scaling)的冷却时间是指在同一个伸缩组内,当有一个伸缩活动被成功执行后的一段锁定时间内,该伸缩组不执行其他的伸缩活动。以下关于冷却时间的开始计时的时间点的说法正确的是?
A. 当伸缩组加入或移出多个ECS实例时,最后一个ECS实例加入或移出完成后,整个伸缩组冷却时间才开始计时
B. 当伸缩组加入或移出多个ECS实例时,第一个ECS实例加入或移出完成后,整个伸缩组冷却时间才开始计时
C. 伸缩活动结束后,冷却时间马上开始计时
D. 伸缩活动开始后,冷却时间马上开始计时
6. 对于不同类型协议的监听,负载均衡服务的监控检查功能发送不同的探测请求。针对四层UDP监听,监控检查通过________探测来获取ECS实例的状态信息。
A. UDP HEAD请求
B. UDP报文
C. UDP SYN数据包
D. UDP RST数据包
7. 在使用阿里云负载均衡SLB产品时,如果从负载均衡服务中移除ECS实例,直接将ECS实例从负载均衡实例中移除,可能会造成业务闪段。建议先执行以下哪个步骤?
A. 将ECS实例权重修改为0
B. 先停止ECS实例上web服务
C. 在管理控制台里将ECS实例停止
D. 将负载均衡的健康检查功能关闭
8. 在阿里云上创建专有网络VPC时,VPC会自动为用户创建1条系统路由,这条路由的作用是________。
A. 没有任何作用
B. 用于专有网络外的云产品实例访问专有网络内的云产品实例
C. 用于专有网络内的云产品实例访问专有网络外的云服务(该云服务支持VPC内的云产品实例直接访问)
D. 用于专有网络内的云产品互访
9. 针对阿里云专有网络VPC内的云服务器ECS实例,可以通过安全组来进行ECS实例的访问控制配置。以下说法中正确的是_。
A. 一个安全组中可以包含同一个可用区的不同VPC里的云服务器ECS实例
B. 一个安全组中可以包含同一个地域的不同VPC里的云服务器ECS实例
C. 一个安全组中仅可以包含同一个可用区的同一个VPC内的云服务器ECS实例
D. 一个安全组中可以包含同 一个地域的同-个专有网络VPC内的云服务器ECS实例
10. 在使用阿里云的负载均衡SLB实例时,可以对后端云服务器ECS实例配置不同的权重,权重越大的ECS实例,会被分到越多的负载。某个SLB实例的后端服务器池中有5个ECS实例,都处在健康状态,其中一台实例ecs_inst1权重被设置成了100,以下说法中正确的是________。
A. 由于不确定其他4台ECS实例的权重配置,所以无法判断ecs_inst1会被分到多大比例的负载
B. 100%的负载都会被分发到ecs_inst1上去,其余4台ECS实例会处于空闲状态
C. 根据SLB的工作原理,ecs_inst1将会被分到大约20%左右的负载
D. 根据外部请求中的请求级别参数判断,所有请求级别参数为100的,都会被转发至ecs_inst1
答案:
1.C
2.A
答案解析: 路由器(VRouter)是专有网络的枢纽。作为专有网络中重要的功能组件,它可以连接VPC内的各个交换机,同时也是连接VPC和其他网络的网关设备。每个专有网络创建成功后,系统会自动创建一个路由器。每个路由器关联一张路由表。 详细信息,请参见路由表概述。 参考链接: https://helpcdn.aliyun.com/document_detail/34217.html
3.A
答案解析: d性伸缩是可以根据客户业务需求横向扩展ECS实例的容量,即自动增加和减少ECS实例,但是伸缩组内不限制ECS实例的数量。参考链接:https://help.aliyun.com/document_detail/108806.html?spm=a2c4g.11186623.2.7.720d4c07YnC1Qu#concept-bpd-tys-xgb
4.C
答案解析: 云盾是阿里巴巴集团多年来安全技术研究积累的成果,结合阿里云云计算平台强大的数据分析能力。为中小网站提供如安全漏洞检测、网页木马检测以及面向云服务器用户提供的主机入侵检测、防DDOS等一站式安全服务。云盾的功能产品部分是可以免费使用的。
5.A
答案解析: 伸缩活动中,最后一个ECS实例加入或移出完成后,整个伸缩组冷却时间才开始计时,伸缩活动结束并不代表最后一个ECS实例已经加入或移出完成。
6.B
答案解析: 针对四层UDP监听,健康检查通过UDP报文探测来获取状态信息 参考链接: https://help.aliyun.com/document_detail/85958.html?spm=a2c4g.11186623.6.626.7f5d5c4bZZHj45
7.A
答案解析: 题目问的是:直接将ECS实例从负载均衡实例中移除,可能会造成业务中断。因为有部分用户的请求可能这台ECS此时正在处理,所以如何保证业务不中断也能把ECS给下线(从负载均衡中移除)了。所以最好的办法就是”将ECS实例权重修改为0“。这样ECS就不会再被分配新的请求了,同时待权重修改之前的请求处理完成了,就可以把该ECS直接从负载均衡中移除了。文档释义:将负载均衡后端ECS的权重置零,相当于将该ECS手工下线,用于对相应ECS进行重启、配置调整等主动运维。而由于该状态下,业务数据是无法经负载均衡转发到该服务器的,所以健康检查相应的自然会显示异常。
8.D
答案解析: 以100.64.0.0/10为目标网段的路由条目,用于VPC内的云产品通信。参考链接:https://help.aliyun.com/document_detail/49002.html
9.B
答案解析: 一个安全组可以管理同一个地域内的多台ECS实例
10.A
答案解析: 因为只有一台配置了100的权重,并不知道其他4台ECS的具体权重配置(并不是说一台设置了100的权重,其他的权重都必须0,其他ECS也是同样可以设置为100的权重,这样和这一台的权重是相同的,被分发的请求量也是相同的),所以所以无法判断ecs_inst1会被分到多大比例的负载。
简介现在有很多客户很关心应用的自动d性伸缩,有些客户也有自己的监控框架,并希望能跟阿里云容器服务进行集成。阿里云容器服务提供了服务d性伸缩触发器,并能够跟监控框架集成来实现自定义的服务自动d性伸缩。
阿里云容器服务会自动采集容器的监控数据,并可以通过集成将监控数据发送到三方的监控框架中。有了监控数据,我们可以在监控框架中定义自己的报警规则,当指标发生报警的时候调用阿里云容器服务提供的触发器来进行容器的扩容或者缩容。
下面用Influxdb,Kapacitor来介绍怎样通过触发器跟监控框架集成实现自定义d性伸缩。
生成服务的Scaling触发器
在阿里云容器服务的应用列表中,点击要进行自动扩容控制的应用,进入后点击“创建触发器”
然后选择“资源伸缩”,并选择要伸缩的服务名
生成的触发器如下:
调用sale out的时候需要添加参数&type=scale_out&step=2.
部署Influxdb及监控
包括监控时序数据库Influxdb, 监控报警框架Kapacitor,及界面展现Grafana. 我们可以用一个模板来部署:
version: '2'
services:
influxdb:
image: influxdb:0.13
ports:
- "8083:8083"
- "8086:8086"
container_name: "influxdb"
labels:
aliyun.monitoring.addon.influxdb: ""
grafana:
image: grafana/grafana:3.0.3-1463994644
ports:
- "3000:3000"
links:
- influxdb
kapacitor:
image: kapacitor:0.13
ports:
- "9092:9092"
volumes:
- /etc/acs/:/etc/acs/
environment:
- KAPACITOR_INFLUXDB_0_URLS_0=
command: kapacitord -config /etc/kapacitor/kapacitor.conf
模板中通过标签“ aliyun.monitoring.addon.influxdb”来指定将阿里云容器服务中的监控数据发送到Influxdb.
在阿里云容器服务中增加一个模板,并通过模板创建应用:
部署好的应用:
配置Kapacitor报警规则
创建报警规则文件。在 Kapacitor中配置报警规则,并当报警是调用扩容触发器URL.
通过Web远程终端或者Docker Exec进入Kapacitor容器, 增加报警规则,比如我们对CPU指标设置报警规则,创建/etc/acs/cpu.tick文件,内容如下:
stream
// Select just the cpu measurement from our example database.
|from()
.measurement('docker_container_cpu')
|groupBy('aliyun.cluster', 'aliyun.service.id')
|alert()
.crit(lambda: "aliyun.cluster"=='xxxxx' AND "aliyun.service.id"=='xxxxx' AND usage_percent" >70)
.post('
yYWRhODQwMDJhNjRmNWVhZjcxZjU1ZTllfG5naW54LWRlZmF1bHR8cmVkZXBsb3l8MThtZHFxbXJkNXJ
kaHw=&secret=xxx&&type=scale_out&step=1')
.log('/tmp/alerts.log')
这里对监控的CPU指标"docker_container_cpu"按集群及服务进行聚合然后判断当usage_percent>70的时候进行服务扩容。
类似,我们也可以增加一个缩容的报警规则。
定义报警规则并启用 在Kapacitor容器中执行如下命令定义并启用报警规则。
kapacitor define cpu_alert -type stream -tick cpu_alert.tick -dbrp telegraf.default
kapacitor enable cpu_alert
这样当CPU的使用率超过70%的时候,会自动调用扩容触发器进行容器的扩容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)