利用阿里云容器服务实现自定义节点伸缩

简介

阿里云容器服务很早就提供了基于集群CPU/内存的平均使用量触发节点自动伸缩功能,帮助许多客户自如应对业务压力的弹性变化。其原理是利用阿里云的云监控能力,在资源使用(cpu和memory)达到阈值时,触发节点伸缩。

同时还有一些企业级用户希望根据自身的监控数据和逻辑判断是否进行扩容和缩容操作,甚至可以按照固定时间进行节点扩容和缩容,针对这种场景,就需要调用的是扩容或者缩容触发器。

容器服务目前提供创建节点触发器的功能,调用节点触发器,并可以利用openAPI查看扩容出来的ECS节点方便管理和自动化的需求. 本文将向您介绍完成这一能力的步骤。

创建节点伸缩触发器trigger_url

登录容器服务管理控制台

单击左侧导航栏中的集群

集群列表页面,选择要设置的集群,点击管理

单击左侧导航栏中的节点伸缩,单击请新建自动伸缩规则

进入配置节点伸缩规则,勾选掉根据监控指标自动伸缩,并单击下一步

配置约束规则请注意:

扩容步长的可选范围是 1~5,缩容步长目前默认是 1,不支持配置。

设置集群最小节点数集群最大节点数。缩容时,如果节点数 ≤集群最小节点数,不会进行缩容操作;扩容时,如果节点数 ≥集群最大节点数,不会进行扩容操作。

配置实例规格, 并单击确认配置

有关实例规格配置的信息,参见创建集群

使用节点伸缩触发器

可以在节点伸缩的页面,查看触发器的URL

在调用节点伸缩触发器时候,需要在触发器URL中添加一下参数:

参数名称必填语义可选值

type是伸缩类型缩容:scale_in

扩容:scale_out

step是伸缩配置正整数,1-100,只有扩容时使用

举例来说,当用户需要弹性扩展1个节点时,触发器的URL为

https://cs.console.aliyun.com/hook/trigger?triggerUrl==&secret=&type=scale_out&step=1

当用户需要弹性收缩时,触发器的URL为

https://cs.console.aliyun.com/hook/trigger?triggerUrl==&secret=&type=scale_in

注:目前弹性收缩只支持单个节点收缩

调用弹性伸缩时,可以很简单的利用curl命令触发

curl "https://cs.console.aliyun.com/hook/trigger?triggerUrl==&secret=&type=scale_in"

利用OpenAPI查询弹性扩展出的ECS节点信息

1. 先需要安装sdk的核心库

sudo pip install aliyun-python-sdk-coresudo pip install aliyun-python-sdk-cs==2.2.0

2. 利用python代码查询并且展示弹性扩展出的节点

示例代码如下:

from aliyunsdkcore.clientimport AcsClientfrom aliyunsdkcs.request.v20151215import DescribeClusterScaledNodeRequestimport jsonreq = DescribeClusterScaledNodeRequest.DescribeClusterScaledNodeRequest()client = AcsClient(ak='', secret='', region_id='')req.set_ClusterId('<集群ID>')status, headers,body= client.get_response(req)ifstatus ==200:    hosts = json.loads(body)forhostinhosts:        print("Scaledout Instance's ECS ID: {}, IP: {}, OSVersion: {} \n".format(host["InstanceId"], host["IP"], host["OperatingSystem"]))

代码说明:

通过Access Key管理获取Your-Access-Key-Id和Your-Access-Key-Secret

Region-Id是地域对应的Id,比如华东2是cn-shanghai, 可以通过API查询

集群ID是容器集群的ID,可以通过集群管理页面查看

可以从运行结果中查询到ECS的ID,私有IP以及操作系统类型

样例输出:

Scaledout Instance's ECS ID:i-2zec33gu8do3wrlscdi5, IP:10.136.125.22, OSVersion: Ubuntu14.04.5LTSScaledout Instance's ECS ID:i-2ze2qqe4tpakz4xidaw2, IP:10.136.125.25, OSVersion: Ubuntu14.04.5LTS

总结

通过上述内容,您可以了解了如何创建节点伸缩触发器,利用阿里云提供的节点触发器,按时按需的自动化的触发集群扩容,并且查询扩容节点信息。

原文链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容