利用GPU性能指标进行弹性伸缩

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 随着人工智能大潮的风起云涌, 视频识别,语音识别,图像识别,自然语言翻译,AI画匠等基于GPU的在线预测也在遍地开花。而弹性伸缩对于人工智能服务来说尤为重要,一方面是业务压力峰值时巨大的计算力需求;另一方面当业务空闲时,GPU的空耗成本也是大家很难承受的。

随着人工智能大潮的风起云涌, 视频识别,语音识别,图像识别,自然语言翻译,AI画匠等基于GPU的在线预测也在遍地开花。而弹性伸缩对于人工智能服务来说尤为重要,一方面是业务压力峰值时巨大的计算力需求;另一方面当业务空闲时,GPU的空耗成本也是大家很难承受的。同时在与客户的交流中,我们也发现客户对于GPU资源的弹性伸缩也有很强的定制化需求,希望能自主控制触发条件,并在此基础上和自身业务指标相结合等等。

基于这种现实,我们提供了一套容器服务所扩容触发器结合第三方监控框架influxDB+Grafana的报警伸缩方案。 具体来说,分为4个部分:

  1. 创建容器服务节点扩缩容触发器
  2. 部署基于Grafana和InfluxDB的GPU监控应用
  3. 在Grafana中设置通知渠道,通过Webhook调用缩扩容触发器
  4. 定义触发条件

创建触发器

参考 利用阿里云容器服务实现自定义节点伸缩 创建触发器trigger_url, 请将这个触发器妥善保存。这里触发器的价值在于:

a) 预先指定扩容机器的配置,以及弹性伸缩的上下限;无需用户写复杂API调用扩容

b) 当缩容时,系统自动判断可以回收的机器;用户只需要触发,对于缩容细节无需了解

扩容触发器的URL通常为

https://cs.console.aliyun.com/hook/trigger?triggerUrl=<triggerUrl>=&secret=<secret>&type=scale_out&step=1
AI 代码解读

缩容触发器的URL通常为

https://cs.console.aliyun.com/hook/trigger?triggerUrl=<triggerUrl>=&secret=<secret>&type=scale_in
AI 代码解读

部署GPU监控应用

在容器服务里可以支持influxDB, 这里我们的方案是部署 influxDB+Grafana,利用Grafana的报警机制

  1. 登录 容器服务管理控制台

2. 单击左侧导航栏中的 节点

3. 选择您创建的GPU集群, 并且将鼠标挪动到任何一个节点信息附近感叹号图标。

4. 这时,可以看到当前节点的NODE_IP和NODE_ID。在本例子中,您的NODE_IP是 192.168.10.86 , NODE_ID是 1。请记住该信息。 我们在下一步中将使用该信息部署GPU监控应用。

5. 请将下面的应用模板部署到集群中, 单击左侧导航栏中的 应用, 并点击 创建应用 按钮。

version: '2'
services:
  # Define an InfluxDB service
  influxdb:
    container_name: influxdb
    image: influxdb:0.13
    volumes:
      - /var/lib/influxdb
    ports:
      - 8086:8086
      - 8083:8083
    labels:
      aliyun.monitoring.addon.influxdb: "http://${NODE_IP}:8086"
    environment:
      - constraint:aliyun.node_index==${NODE_ID}
  grafana:
    image: grafana/grafana:4.4.3
    container_name: grafana
    ports:
      - 3000:3000
    links:
      - influxdb
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD}
    labels: 
      aliyun.routing.port_3000: grafana
  config:
    image: registry.cn-beijing.aliyuncs.com/cheyang/grafana-config:egs-4.4.3
    links:
      - grafana:grafana
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD}
AI 代码解读

6. 在部署应用时,需要填写模板参数: NODE_IP, NODE_ID以及后续登录Grafana需要的ADMIN_PASSWORD, 点击确定后,监控应用就开始创建了。

7. 等监控应用创建成功后,在应用列表页面,单击本示例所创建应用的名称 grafana

8. 在服务页面点击 grafana 的 访问端点, 就可以登录 grafana 的登录界面

9. 在Grafana登录界面输入用户名admin和您之前设置的密码(ADMIN_PASSWORD对应的值), 您就可以看到GPU的性能数据,其中包括集群级别的和节点级别的。

设置通知渠道, 这里使用 webhook

  1. 点击 admin-> Alerting-> Notification channels

2. 点击右上角 New Channel,就可以进行通知渠道的配置, 完成后点击保存

  • Name: 通知渠道名称,这里代表扩容,取名scale_out
  • Type: 通知类型,这里代选择 webhook
  • Url: webhook触发的Url, 这里前面获得的弹性扩容Trigger Url
  • Http Method: 这里指触发Trigger Url的Http Action,请选择 POST

3. 这样就可以在通知渠道的列表页面看到 scale_out这个通知渠道

设置报警条件

  1. 点击 admin->Dashboards->Home 回到Dashboard页面,直接点击指标图标题 GPU Usage, 然后选择 Edit

2. 查看 Metrics 标签页中三条sql语句, 其中c 对应的是集群级别的GPU平均使用率, 这也是我们使用的报警条件;当然这个完全可以根据业务需要进行定制

关于$timeFilter GROUP BY time(30s)的含义,请参考 https://github.com/grafana/grafana/issues/7967

3. 跳转到 Alert 标签页, 点击 Create Alert

4. 设置 Alert Config, 这里设置的指标是集群GPU平均使用率大于45%时报警

  • Query: 请设置为C,即集群级别的GPU使用率
  • IS ABOVE: 大于45, 代表使用率大于45%

5. 关联通知渠道, 单击左侧标题栏的 Notifications, 点击 Send to->+, 选择之前创建的 scale_out 通知渠道

6. 保存好后,图表的标题前会有一个灰色的心形标志, 这就代表设置完成,当对应指标达到配置的阈值就会出发报警,具体报警信息会触发通知渠道调用webhook

测试弹性扩容

  1. 对集群中的GPU施压,可以看到Grafana的视图中已经显示报警

2. 同时登陆容器服务管理的集群页面可以看到GPU集群的状态是伸缩中

3. 当扩容完成后,可以看到容器集群的节点数由2个增加到了3个.

4. 在Grafana的视图中也可以看到GPU使用率已经回到正常范围,集群状态恢复正常

总结

本文为您提供了一套可以拼装组合的GPU弹性伸缩方案,其中触发器与伸缩触发条件可以分离,触发条件也可以有更灵活的配置性。您可以根据峰值时间写一个crontab来触发,也可以写与您具体需求相符合的Alert条件, 满足应用运行的需要。阿里云容器服务希望为您提供元语,帮助您因地制宜的定义符合自身场景的弹性缩扩容方案。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
必嘫
+关注
目录
打赏
0
0
0
0
78493
分享
相关文章
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
2025年阿里云GPU服务器租用价格、选型策略与应用场景详解
随着AI与高性能计算需求的增长,阿里云提供了多种GPU实例,如NVIDIA V100、A10、T4等,适配不同场景。2025年重点实例中,V100实例GN6v单月3830元起,适合大规模训练;A10实例GN7i单月3213.99元起,适用于混合负载。计费模式有按量付费和包年包月,后者成本更低。针对AI训练、图形渲染及轻量级推理等场景,推荐不同配置以优化成本和性能。阿里云还提供抢占式实例、ESSD云盘等资源优化策略,支持eRDMA网络加速和倚天ARM架构,助力企业在2025年实现智能计算的效率与成本最优平衡。 (该简介为原文内容的高度概括,符合要求的字符限制。)
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
介绍如何使用ACK Edge与虚拟节点满足DeepSeek部署的弹性需求。
阿里云当选UALink联盟董事会成员,推进新一代GPU互连技术!
阿里云当选UALink联盟董事会成员,推进新一代GPU互连技术!
40 2
2025年阿里云GPU服务器的租赁价格与选型指南
随着AI、深度学习等领域的发展,GPU服务器成为企业及科研机构的核心算力选择。阿里云提供多种GPU实例类型(如NVIDIA V100、A100等),涵盖计算型、共享型和弹性裸金属等,满足不同场景需求。本文详解2025年阿里云GPU服务器的核心配置、价格策略及适用场景,帮助用户优化选型与成本控制,实现高效智能计算。
阿里云gpu云服务器租用价格:最新收费标准及活动价格参考
阿里云gpu云服务器多少钱?A10卡GN7i GPU云服务器32核188G3213.99/1个月起,V100卡GN6v GPU云服务器8核32G3830.00/1个月起,阿里云GPU云服务器是基于GPU应用的计算服务,多适用于视频解码,图形渲染,深度学习,科学计算等应用场景,该产品具有超强计算能力、网络性能出色、购买方式灵活、高性能实例存储( GA1和GN5特有)等特点。下面小编来介绍下阿里云gpu云服务器最新的收费标准及活动价格。
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置,包括CPU+GPU、FPGA等,适用于人工智能、机器学习和深度学习等计算密集型任务。本文整理了阿里云GPU服务器的优惠价格,涵盖NVIDIA A10、V100、T4等型号,提供1个月、1年和1小时的收费明细。具体规格如A10卡GN7i、V100-16G卡GN6v等,适用于不同业务场景,详情见官方页面。
201 11
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
随着人工智能、大数据和深度学习等领域的快速发展,GPU服务器的需求日益增长。阿里云的GPU服务器凭借强大的计算能力和灵活的资源配置,成为众多用户的首选。很多用户比较关心gpu云服务器的收费标准与活动价格情况,目前计算型gn6v实例云服务器一周价格为2138.27元/1周起,月付价格为3830.00元/1个月起;计算型gn7i实例云服务器一周价格为1793.30元/1周起,月付价格为3213.99元/1个月起;计算型 gn6i实例云服务器一周价格为942.11元/1周起,月付价格为1694.00元/1个月起。本文为大家整理汇总了gpu云服务器的最新收费标准与活动价格情况,以供参考。
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考