阿里云容器服务发布cluster-autoscaler支持

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 前言 cluster-autoscaler是Kubernetes中非常受大家关注的功能特性,可以通过cluster-autoscaler实现节点级别的动态添加与删除,动态调整容器资源池,应对峰值流量。

前言

cluster-autoscaler是Kubernetes中非常受大家关注的功能特性,可以通过cluster-autoscaler实现节点级别的动态添加与删除,动态调整容器资源池,应对峰值流量。在Kubernetes中共有三种不同的弹性伸缩策略,分别是HPA(HorizontalPodAutoscaling)、VPA(VerticalPodAutoscaling)与CA(ClusterAutoscaler)。其中HPA和VPA主要扩缩容的对象是容器,而CA的扩缩容对象是节点。

发布内容

在之前容器服务提供过一个beta版本的autoscaler弹性伸缩方案,根据客户的反馈,我们在如下方面进行了了增强:

  1. GPU伸缩组的支持。机器学习、深度学习、高性能运算是Kubernetes中非常重要的应用场景,GPU作为一种特殊的资源与CPU、Memory等资源有较大的差异。因为通常情况下,训练任务会独占一台机器的几块GPU卡,即便利用率较低的情况下也不可以直接驱逐调度,否则可能会造成训练任务的中断。因此阿里云容器服务的cluster-autoscaler支持了GPU的伸缩,并添加了属于GPU的缩容策略,保证训练任务的不中断。
  2. 多伸缩组的支持。在一个集群中,我们可能会调度不同的类型的工作负载,而不同的工作负载对于资源的要求是不同的,扩容出高配的机器会造成资源的浪费。因此,阿里云容器服务的cluster-autoscaler支持GPUCPU两种类型伸缩组的控制台可视化配置,支持更多伸缩组的手动配置。
  3. 控制台UI页面可视化配置伸缩组。使用过之前autoscaler开源方案的开发者在配置autoscaler的时候遇到了很多的问题,造成弹性伸缩组件难以正常的扩缩容。因此,这次发布我们支持了控制台配置autoscaler,可以通过可视化的配置快速开启节点弹性伸缩功能。
  4. 优化弹性伸缩的速度,支持并发伸缩。Kubernetes的cluster-autoscaler的判断扩容条件一直被部分开发者所诟病,因为必须要等待Pod有无法调度的时候才能够支持节点的扩容,有可能会因为节点接入的时间过长而导致的集群雪崩。本次发布我们优化了节点伸缩的速度,1分钟创建出新节点,4分钟完成Kubernetes基础环境准备。在5分钟之内完成从节点生成到任务调度的所有过程,而且所有的过程是并行的,如果出现大量负载无法调度的场景,可以并发伸缩,防止集群雪崩。GPU集群的时间由于需要额外的配置,时间会有所增长。
  5. 多版本兼容,目前版本兼容1.9.3、1.9.7、1.10.4,低版本的Kubernetes可升级集群开启使用。
  6. 修复部分已知问题。修复伸缩组上下限变化的问题,修复缩容阈值计算失败释放节点的问题等。

操作步骤

  1. 登录 容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的集群,进入Kubernetes集群列表页面。选择所需的集群并单击操作列的更多 > 自动伸缩
    初次开启或未开通ESS的开发者会要求进行授权,可参考引导文档进行授权。
  2. 根据所需要弹性伸缩的资源类型(CPU/GPU),单击操作列创建
    并根据需要开启不同的配置,点击确定即可完成配置。lALPBY0V49NSEerNBCHNBaA_1440_1057_png_620x10000q90g
  3. 选择目标集群和kube-system命名空间,可以看到名称为cluster-autoscaler的组件已创建成功,表名此时弹性伸缩组件已经下发成功,集群已经做好弹性伸缩准备。

  4. 验证弹性伸缩,为所有的资源设置申请值与限制值也是使用和管理Kubernetes的最佳实践,而且Kubernetes的autoscaler也是通过资源的申请值进行判断伸缩条件的,因此要想使用HPA后者cluster-autoscaler都需要设置request的资源值。例如在本例中演示的是GPU的弹性伸缩。
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: tensorflow
  labels:
    app: tensorflow
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tensorflow
  template:
    metadata:
      labels:
        app: tensorflow
    spec:
      containers:
      - name: tensorflow
        image: registry.cn-hangzhou.aliyuncs.com/tensorflow-samples/jupyter:1.5.0-devel
        resources:
          requests:
            nvidia.com/gpu: '1'
          limits:
            nvidia.com/gpu: '1'
AI 代码解读

部署完成后,调整容器数目,因为测试集群中只有一个GPU的实例,因此将伸缩的数目设置为2即可验证。image通常在判断伸缩条件满足后,VM即可开始创建,在自动伸缩页面可以看到节点的状态image等待5-8分钟左右,即可完成节点伸缩以及为调度的Pod的正常运行。image当集群中申请的资源低于阈值的时候,会触发缩容,实现集群的弹性伸缩。

最后

近期cluster-autoscaler会完成开源并提交给社区,希望大家保持关注,https://github.com/AliyunContainerService/autoscaler

相关实践学习
使用容器计算服务ACS算力快速搭建生成式AI会话应用
本实验将指导您如何通过阿里云容器计算服务 ACS 快速部署并公开一个容器化生成式 AI 会话应用,并监控应用的运行情况。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
0
0
2
78903
分享
相关文章
阿里云飞天企业版获【可信云·容器平台安全能力】先进级认证
阿里云飞天企业版容器系列产品获中国信息通信研究院【可信云·容器平台安全能力】先进级认证,这是飞天企业版容器产品获得《等保四级PaaS平台》和《 云原生安全配置基线规范V2.0》之后,本年度再一次获得行业权威认可,证明飞天企业版的容器解决方案具备符合行业标准的最高等级容器安全能力。
218 8
阿里云飞天企业版获【可信云·容器平台安全能力】先进级认证
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
199 0
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云向全球客户推出创新容器计算服务ACS,可降低算力成本高达55%
阿里云向全球客户推出创新容器计算服务ACS,可降低算力成本高达55%
面对热点事件,阿里云如何通过云上弹性与容器服务帮助客户应对流量洪峰
面对热点事件,阿里云如何通过云上弹性与容器服务帮助客户应对流量洪峰
151 0
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
DeepSeek大解读系列公开课上新!阿里云专家主讲云上智能算力、Kubernetes容器服务、DeepSeek私有化部署
智猩猩「DeepSeek大解读」系列公开课第三期即将开讲,聚焦阿里云弹性计算助力大模型训练与部署。三位专家将分别讲解智能算力支撑、Kubernetes容器服务在AI场景的应用实践、以及DeepSeek一键部署和多渠道应用集成,分享云计算如何赋能大模型发展。欲观看直播,可关注【智猩猩GenAI视频号】预约。 (239字符)
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。

相关产品

  • 容器计算服务
  • 容器服务Kubernetes版
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问