【阅读原文】戳:突破地域限制,实现算力无限供给--阿里云ACK One注册集群开启多地域Serverless算力调度
随着企业在数字化转型中的进一步深化,基础设施的灵活性和扩展能力成为了关键挑战。传统的IDC数据中心受制于物理容量的限制,难以实现动态扩容,因而缺乏必要的弹性能力。这时,ACK One注册集群[1]凭借分钟级快速接入,100%兼容Kubernetes原生操作习惯,以及云上Serverless弹性因其高度的灵活性和丰富的资源选择,成为了解决这一问题的最佳方案。
然而,随着AI时代的来临,大模型的参数规模正以千亿量级跃进,推动训练与推理的算力需求指数级增长。对传统数据中心用户而言,通过ACK One注册集云上Serverless弹性,虽能应对常规业务需求,却在AI时代暴显得捉襟见肘。具体的表现如下:
• GPU卡型差异:GPU卡型在不同地域覆盖上存在一定的差异。
• GPU库存波动:单地域GPU资源由于库存缘故存在波动,极端情况可能导致短期无法购买到相应的资源。
在AI推理场景中,高并发请求的实时响应、突发流量的弹性承载以及模型版本的快速迭代,对于算力的供给效率提出了更高的要求。而传统单地域算力所面临的问题难以支撑高可用的推理服务需求,严重制约企业AI服务的商业化落地速度。
针对这一行业性的挑战,阿里云基于容器服务ACK One注册集群推出多地域Serverless算力调度解决方案。该方案以"实现无限算力供给"为核心,为企业构建跨地域的弹性算力供给,助力企业实现AI推理服务的规模化、低延迟、高性价比部署,抢占生成式AI时代的商业化先机。
快速接入
• 登录阿里云容器服务控制台[2],根据提示开通容器服务。
• 登录容器计算服务控制台[3],根据提示开通ACS服务。
• 创建ACK One注册集群并接入数据中心或者其他云厂商的Kubernetes集群(建议版本为1.24及以上)。具体操作,请参见创建ACK One注册集群并接入目标集群[4]。
• 安装ACK Virtual Node组件。具体操作,请参考ACK One注册集群使用Serverless算力[5]。
示例
说明:
• ACK One注册集群使用ACS GPU算力,请提交工单[6]申请。
• 关于ACS的算力类型和算力质量,请参见计算类型与算力质量的对应关系[7]。
• 关于gpu-model-series的可选卡型,请参见GPU型号说明[8]。
指定地域调度
在默认情况下,如果我们需要将业的Serverless算力调度到指定的地域,可以在业务应用的定义中添加标签alibabacloud.com/serverless-region-id:来实现。如下:
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-gpu-specified-region name: nginx-gpu-deployment-specified-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-gpu-specified-region template: metadata: labels: alibabacloud.com/acs: "true" alibabacloud.com/compute-class: gpu alibabacloud.com/compute-qos: default alibabacloud.com/gpu-model-series: example-model # GPU卡型,请按照实际情况替换,例如T4 alibabacloud.com/serverless-region-id: <RegionID> # 通过该标签指定地域,若不指定会使用默认地域 app: nginx-gpu-specified-region spec: containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP resources: limits: cpu: 1 memory: 1Gi nvidia.com/gpu: "1" requests: cpu: 1 memory: 1Gi nvidia.com/gpu: "1"
使用ack-co-scheduler调度器动态调度
在自定地域调度的示例中,是通过为业务应用设置标签alibabacloud.com/serverless-region-id: 来实现将业务应用调度到指定地域的Serverless算力。
然而,这种方式存在一定的限制和缺少灵活性。为了解决该问题,我们可以借助于阿里云ack-co-scheduler调度器的ResourcePolicy策略实现动态调度,不仅满足业务的诉求,也降低业务负载配置的复杂度。
下面我们通过一个当某地域资源不足的时候,自动调度到其他地域的示例。调度器通过spec.selector字段,选中带有标签app: nginx-gpu-resourcepolicy的业务应用,并且根据spec.units中定义的调度策略进行调度。如下:
• 调度策略定义
apiVersion: scheduling.alibabacloud.com/v1alpha1 kind: ResourcePolicy metadata: name: multi-vk-gpu-resourcepolicy namespace: default spec: selector: # 在selector中标记Pod,表示带有app=nginx-gpu-resourcepolicy标签的Pod将遵循此调度策略 app: nginx-gpu-resourcepolicy units: # 优先使用该地域的资源,当该地域资源不足时候,自动切换到其他地域 - resource: acs # resource类型指定为acs nodeSelector: # 支持通过nodeSelector指定虚拟节点地域 topology.kubernetes.io/region: <RegionID> type: virtual-kubelet podLabels: alibabacloud.com/serverless-region-id: <RegionID> alibabacloud.com/compute-class: gpu alibabacloud.com/compute-qos: default alibabacloud.com/gpu-model-series: example-model # GPU卡型,请按照实际情况替换 - resource: acs nodeSelector: # 支持通过nodeSelector指定虚拟节点地域 topology.kubernetes.io/region: <RegionID> type: virtual-kubelet podLabels: alibabacloud.com/serverless-region-id: <RegionID> alibabacloud.com/compute-class: gpu alibabacloud.com/compute-qos: default alibabacloud.com/gpu-model-series: example-model # GPU卡型,请按照实际情况替换
说明:
• spec.selector表示带有app=nginx-gpu-resourcepolicy标签的Pod将遵循此调度策略。
• spec.units
- resource: acs表示指定的资源类型为acs。
- nodeSelector:表示通过nodeSelector指定业务应用要被调度到的节点。
- podLabels:表示调度器会为带有spec.selector标签的pod追加指定的标签。
• 业务负载定义
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-gpu-resourcepolicy name: nginx-gpu-deployment-resourcepolicy namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-gpu-resourcepolicy template: metadata: labels: app: nginx-gpu-resourcepolicy spec: schedulerName: ack-co-scheduler containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP resources: limits: cpu: 1 memory: 1Gi nvidia.com/gpu: "1" requests: cpu: 1 memory: 1Gi nvidia.com/gpu: "1"
总结
阿里云ACK One注册集群多地域Serverless算力调度解决方案,为数据中心客户提供“无边界”的AI算力供给能力。无论是应对千卡级训练的资源洪峰,还是实现推理的多地域覆盖,都足以轻松应对。
本文作为ACK One注册集群多地域Serverless算力调度的开篇之作,后续还会有多地域场景下如何实现镜像和存储加速等场景,敬请期待。
立即访问阿里云ACK One官网[9],了解更多详情,开始您的智能扩展之旅吧!
欢迎通过钉钉扫描下方二维码或搜索钉钉群号加入ACK One客户交流钉钉与我们一同交流。(钉钉群号:35688562)
相关链接:
[1] ACK One注册集群
[2] 阿里云容器服务控制台
[3] 容器计算服务控制台
[4] 创建ACK One注册集群并接入目标集群
[5] ACK One注册集群使用Serverless算力
[6] 提交工单
[7] 计算类型与算力质量的对应关系
[8] GPU型号说明
https://help.aliyun.com/zh/cs/user-guide/pod-gpu-model-and-driver-version#88ca12b4c291k
[9] 阿里云ACK One官网
https://csnew.console.aliyun.com/#/k8s/cluster/createV2/external?region=cn-hangzhou
我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。
获取关于我们的更多信息~