zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

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

节点容器阿里服务 实现 利用 自定义 伸缩
2023-09-27 14:20:13 时间
容器服务目前提供创建节点触发器的功能,调用节点触发器,并可以利用openAPI查看扩容出来的ECS节点方便管理和自动化的需求. 本文将向您介绍完成这一能力的步骤。

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

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

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

创建节点伸缩触发器trigger_url
扩容步长 的可选范围是 1~5, 缩容步长 目前默认是 1,不支持配置。 设置 集群最小节点数 和 集群最大节点数。缩容时,如果节点数 ≤ 集群最小节点数,不会进行缩容操作;扩容时,如果节点数 ≥ 集群最大节点数,不会进行扩容操作。

配置实例规格, 并单击 确认配置。
有关实例规格配置的信息,参见 创建集群。 使用节点伸缩触发器 可以在 节点伸缩的页面,查看触发器的URL

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


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

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

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

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

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

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

curl "https://cs.console.aliyun.com/hook/trigger?triggerUrl= triggerUrl = secret= secret type=scale_in"
利用OpenAPI查询弹性扩展出的ECS节点信息

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

sudo pip install aliyun-python-sdk-core

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

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

示例代码如下:

from aliyunsdkcore.client import AcsClient

from aliyunsdkcs.request.v20151215 import DescribeClusterScaledNodeRequest

import json

req = DescribeClusterScaledNodeRequest.DescribeClusterScaledNodeRequest()

client = AcsClient(ak= Your-Access-Key-Id , secret= Your-Access-Key-Secret , region_id= Region-Id )

req.set_ClusterId( 集群ID )

status, headers, body = client.get_response(req)

if status == 200:

 hosts = json.loads(body)

 for host in hosts:

 print("Scaledout Instances 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 Instances ECS ID: i-2zec33gu8do3wrlscdi5, IP: 10.136.125.22, OSVersion: Ubuntu 14.04.5 LTS

Scaledout Instances ECS ID: i-2ze2qqe4tpakz4xidaw2, IP: 10.136.125.25, OSVersion: Ubuntu 14.04.5 LTS

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


阿里云EMR自定义日志投递与使用实践分享 EMR目前支持了日志管理,即日志客户SLS投递的功能,基于此功能,客户可以将需要的各种大数据组件日志收集到自身SLS中,做查询和分析。基于此功能,客户可以自定义日志路径、规则,对集群设备上的日志自行接收和消费。本文以采集指标文件为例,帮助您快速上手自定义日志投递与使用。
基于阿里云 CloudMonitor云监控自定义监控大盘对 EMR 自定义监控实践 本文旨在分享 EMR 平台大数据服务基于阿里云 CloudMonitor 的监控实践,给客户提供除了 EMR 平台默认监控以外,自建监控方式,适用于统一多个阿里云服务的监控监控场景。
阿里云PAI EAS 自定义Token使用示例 为实现一站式算法应用,PAI针对在线推理场景提供了在线预测服务PAI-EAS(Elastic Algorithm Service),支持基于异构硬件(CPU和GPU)的模型加载和数据请求的实时响应。通过PAI-EAS,您可以将模型快速部署为RESTful API,再通过HTTP请求的方式调用该服务。模型部署后,可以基于http方式&认证Token的方式实现服务的Restful 方式调用。本文主要演示自定义token模型的部署方式。
阿里云机器学习模型在线服务自定义Processor部署PMML模型(二) 阿里云机器学习模型在线服务自定义Processor部署PMML模型(一)中介绍了使用EASCMD搭建环境,进行自定义processor的部署,这里介绍使用阿里云提供的镜像进行模型的在线部署,并通过Java SDK演示模型的在线调用。
阿里云机器学习模型在线服务自定义Processor部署PMML模型(一) Processor是包含在线预测逻辑(模型加载和请求预测逻辑)的程序包,如果PAI-EAS提供的官方通用Processor无法满足模型部署需求,则可以根据Processor的开发标准自定义Processor。本文演示如果在本地搭建环境进行测试,并通过EASCMD指令打包方式上传服务到EAS服务器,实现模型在线调用。
阿里云注册集群—混合集群-使用自定义节点添加脚本 混合集群的添加云上节点的方式依赖本地数据中心自建Kubernetes集群的搭建方式,比如使用Kubeadm搭建、使用Kubernetes二进制文件打击那或者使用Rancher平台搭建等。本文将介绍如何编写自定义节点添加脚本。
必嘫 阿里云技术专家,在应用性能监控和软件交付方面有丰富的实践经验,目前专注于容器服务,微服务以及机器学习等领域。