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

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
27天前
|
人工智能 运维 Kubernetes
阿里云容器服务ACK AI助手正式上线带来的便利性
作为开发者想必大家都知道,云原生容器技术的优势,尤其是近两年的随着容器技术的迅猛发展,Kubernetes(K8s)已成为广泛应用于容器编排和管理的领先解决方案,但是K8s的运维复杂度一直是挑战之一。为了应对这一问题,就在最近,阿里云容器服务团队正式发布了ACK AI助手,这是一款旨在通过大模型增强智能诊断的产品,旨在帮助企业和开发者降低Kubernetes(K8s)的运维复杂度。那么本文就来详细讲讲关于这款产品,让我们结合实际案例分享一下K8s的运维经验,探讨ACK AI助手能否有效降低K8s的运维复杂度,并展望ACK AI助手正式版上线后的新功能。
46 2
阿里云容器服务ACK AI助手正式上线带来的便利性
|
2月前
|
Kubernetes 容器
要获取ACK(阿里云容器服务)集群中的Deployment
要获取ACK(阿里云容器服务)集群中的Deployment【1月更文挑战第8天】【1月更文挑战第40篇】
53 4
|
2月前
|
人工智能 弹性计算 调度
阿里云容器服务 ACK 产品技术动态(202312)
容器服务 Kubernetes 版 ACK 【新功能】 Feature:支持基于机密虚拟机的 AI 模型推理保护 ACK 现已支持将基于 Intel® Trusted Domain Extension(Intel® TDX)技术的 ECS 实例加入 TDX 机密虚拟机计算节点池,使集群具备 TDX 机密计算能力,实现 AI 模型的可信推理和微调,保障模型数据的机密性与完整性。结合 PyTorch 与 Intel® AMX指令集,您可以在 32 核实例上实现秒级出图的推理能力。
401 1
|
2月前
|
Kubernetes 监控 调度
阿里云容器服务ACK
阿里云容器服务ACK(Alibaba Cloud Container Service for Kubernetes)提供高性能、可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。在ACK中,利用cGPU(Containerized GPU)技术可以实现GPU资源的共享,提高GPU利用率,降低整体成本。
47 6
|
1月前
|
Kubernetes 监控 Cloud Native
阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)考试大纲
介绍阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)所需具备的知识及学习方法等。
137 2
|
2月前
|
人工智能 运维 Kubernetes
期待已久!阿里云容器服务 ACK AI 助手正式上线
期待已久!阿里云容器服务 ACK AI 助手正式上线
|
2月前
|
Java Maven Docker
SpringBoot项目打包部署到阿里云服务器、通过Maven插件制作Docker镜像、部署项目容器、配置生产环境
SpringBoot项目打包部署到阿里云服务器、通过Maven插件制作Docker镜像、部署项目容器、配置生产环境
72 0
|
2月前
|
存储 Kubernetes 监控
阿里云分布式云容器平台
阿里云分布式云容器平台(ACK One)是一款面向混合云、多集群、分布式计算、容灾等场景推出的企业级云原生平台。它支持连接并管理任何地域、任何基础设施上的Kubernetes集群,提供一致的管理和社区兼容的API,支持对计算、网络、存储、安全、监控、日志、作业、应用、流量等进行统一运维管控。
40 4
|
2月前
|
容器
阿里云容器服务 ACK 产品技术动态(202312)
阿里云容器服务 ACK 产品技术动态(202312)
|
3月前
|
API 调度 容器
国内唯一,阿里云冲进Gartner容器管理领导者象限
近日,Gartner®正式发布了《容器管理魔力象限》报告(Magic Quadrant™ for Container Management),阿里云成功入选,是唯一一家入围“领导者”(Leaders)象限的中国厂商。

相关产品

  • 容器镜像服务
  • 容器服务Kubernetes版