更新时间:2026-03-10 GMT+08:00
GPU节点实现自动弹性伸缩
当集群中GPU资源不足时,支持自动进行GPU节点的弹性伸缩。本文将指导您如何创建GPU节点的弹性伸缩策略。
前提条件
- 在集群中安装CCE AI套件(NVIDIA GPU)及CCE集群弹性引擎。
- 集群已在“配置中心 > 集群弹性伸缩配置 > 节点扩容条件”中开启“负载无法调度时自动扩容”的开关。
步骤一:节点池配置
步骤二:创建GPU负载并自动扩容
- 使用以下YAML创建一个GPU负载。
apiVersion: apps/v1 kind: Deployment metadata: name: ac-test namespace: default spec: replicas: 1 # 副本数 selector: matchLabels: app: ac-test template: metadata: labels: app: ac-test spec: restartPolicy: Always containers: - name: container-1 image: pytorch/pytorch:2.1.1-cuda12.1-cudnn8-devel imagePullPolicy: IfNotPresent command: ["/bin/bash", "-c"] args: - "while true; do nvidia-smi; sleep 10; done" resources: requests: cpu: 250m memory: 512Mi nvidia.com/gpu: 1 limits: cpu: 250m memory: 512Mi nvidia.com/gpu: 1 # 节点亲和性:指定调度到目标GPU节点池(步骤一创建的节点池) affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cce.cloud.com/cce-nodepool operator: In values: - gpu-130-nodepool-67633 #GPU节点池名称 - 查看Pod和节点池Node,此时节点池无节点,Pod处于pending状态。

- 随后将触发节点池扩容。

- 扩容成功后,查看Pod和节点池Node,此时节点池新创出节点,Pod处于running状态。

步骤三:删除GPU负载并自动缩容
如果GPU负载需求的GPU资源降低,节点处于空闲状态,为节省资源,您可以设置节点自动缩容。
- 在集群的“配置中心 > 集群弹性伸缩配置 > 弹性缩容配置”中打开“开启弹性缩容”的开关,并根据需求设置节点缩容条件,详情请参见集群弹性伸缩配置。
- 删除GPU负载后,空闲节点开始缩容。

- 查看节点缩容成功。
