阿里云容器服务发布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'

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

最后

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

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
19天前
|
供应链 安全 Cloud Native
阿里云飞天企业版获【可信云·容器平台安全能力】先进级认证
阿里云飞天企业版容器系列产品获中国信息通信研究院【可信云·容器平台安全能力】先进级认证,这是飞天企业版容器产品获得《等保四级PaaS平台》和《 云原生安全配置基线规范V2.0》之后,本年度再一次获得行业权威认可,证明飞天企业版的容器解决方案具备符合行业标准的最高等级容器安全能力。
阿里云飞天企业版获【可信云·容器平台安全能力】先进级认证
|
23天前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
1月前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
28天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
20天前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
1月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
1月前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
1月前
|
人工智能 运维 Kubernetes
拥抱智算时代:阿里云容器服务智能、托管、弹性新体验
本文总结了2024云栖大会容器计算专场的演讲内容,重点介绍了阿里云容器服务的新产品体验,包括智能、托管、弹性的特点,以及如何助力客户拥抱智算时代。文中还分享了多项实际案例和技术细节,展示了阿里云容器服务在提升用户体验和解决实际问题方面的努力。
|
1月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
270 77
|
13天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
87 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结

相关产品

  • 容器计算服务