在AI大模型训练和推理场景中,单地域GPU资源存在型号覆盖有限、库存波动等问题,易导致算力不足或任务等待。阿里云ACK One注册集群通过ACK Virtual Node提供的虚拟节点技术,将多地域的Serverless算力资源无缝接入Kubernetes集群,实现跨地域GPU资源的动态调度与统一管理。该方案突破地域资源瓶颈,支持按需自动获取目标地域的异构算力,解决GPU型号适配与库存限制问题,显著提升AI任务的资源利用率与业务连续性,同时降低混合云部署的复杂性和成本。
工作原理
涉及Region信息表示数据中心要访问Serverless算力所在地域的Region ID,例如张家口地域为cn-zhangjiakou。
对每个Serverless Pod,ACK Virtual Node会创建云上Serverless算力实例,无需额外维护节点。
数据中心和阿里云多地域VPC使用专线互联。
前提条件
创建ACK One注册集群并接入数据中心或者其他云厂商的Kubernetes集群(建议版本为1.24及以上)。具体操作,请参见创建注册集群。
安装组件并开启多地域Serverless算力调度
安装ack-virtual-node组件。
说明若您已安装该组件,请确保组件版本为2.13.0及以上。若不满足,请及时升级组件。
配置ack-virtual-node组件。
在组件管理页面中,找到ack-virtual-node组件,单击配置。
配置全局参数。
参数
说明
示例值
是否使用VPC内网访问
组件使用的镜像地址和API地址是否均采用VPC内网域名。
勾选
APIServerHost
数据中心Kubernetes集群API Server地址。
192.168.1.1
APIServerPort
数据中心Kubernetes集群API Server端口。
6443
是否启用多地域Virtual Node
判断是否启用多地域Serverless算力。若启用,则需进行相应地域信息配置。
勾选
配置主地域。
参数
说明
示例值
Region ID
Serverless算力使用的地域ID。
cn-beijing
VPC ID
Serverless算力使用的VPC ID。
vpc-xxxxx
vSwitch ID(s)
Serverless算力使用的交换机ID,多个交换机之间使用英文半角逗号分隔。
vsw-xxxxx,vsw-xxxxx
SecurityGroup ID
Serverless算力使用的安全组ID。
sg-xxxxx
Virtual Node 所使用的地域是否为默认地域
使用本地域作为默认地域。
重要有且仅有一个地域可作为主地域。
勾选
配置次地域(可以配置多个)。单击右下角添加,可配置多个地域。
参数
说明
示例值
Region ID
Serverless算力使用的地域ID。
cn-hangzhou
VPC ID
Serverless算力使用的VPC ID。
vpc-xxxxx
vSwitch ID(s)
Serverless算力使用的交换机ID,多个交换机之间使用英文半角逗号分隔。
vsw-xxxxx,vsw-xxxxx
SecurityGroup ID
Serverless算力使用的安全组ID。
sg-xxxxx
配置完成后,单击确定。
使用示例
CPU场景
使用默认地域。
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-default-region name: nginx-deployment-default-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-default-region template: metadata: labels: alibabacloud.com/acs: "true" alibabacloud.com/compute-class: general-purpose alibabacloud.com/compute-qos: default app: nginx-default-region spec: containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP
指定Serverless算力地域。需要添加
alibabacloud.com/serverless-region-id: <RegionID>
标签。apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-specified-region name: nginx-deployment-specified-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-specified-region template: metadata: labels: alibabacloud.com/acs: "true" alibabacloud.com/compute-class: general-purpose alibabacloud.com/compute-qos: default alibabacloud.com/serverless-region-id: cn-beijing # 通过该标签指定地域 app: nginx-specified-region spec: containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP
GPU场景
使用默认地域。
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-gpu-default-region name: nginx-gpu-deployment-default-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-gpu-default-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 app: nginx-gpu-default-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"
指定Serverless算力地域。需要添加
alibabacloud.com/serverless-region-id: <RegionID>
标签。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: cn-beijing # 通过该标签指定地域 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"