本文介紹如何指定ECS GPU規格創建一個ECI Pod,以及如何修改GPU驅動版本。
規格說明
GPU規格含有GPU計算卡,適用于深度學習、圖像處理等場景。GPU對應的Docker鏡像可以直接運行在ECI GPU實例上。實例內已預裝NVIDIA顯卡設備驅動,不同GPU規格支持安裝的驅動和CUDA版本不同。
下表中的gn8ia和gn8is目前僅支持海外等部分地域,如有需求,請聯系阿里云銷售人員。
規格類型 | GPU規格族 | 驅動和CUDA版本 |
GPU虛擬化型實例規格族 | sgn7i-vws | NVIDIA 470.161.03,CUDA 11.4 |
vgn7i-vws | ||
vgn6i-vws | ||
GPU計算型實例規格族 | gn7e |
|
gn7i | ||
gn7s | ||
gn7 | ||
gn6v | ||
gn6e | ||
gn6i | ||
gn5i | ||
gn5 | ||
gn8ia | NVIDIA 535.161.08,CUDA 12.2 | |
gn8is |
關于ECS規格的詳細信息,請參見:
配置說明
您可以在Pod metadata中添加Annotation來指定GPU規格。指定GPU規格后,需要在Container的resources中添加nvidia.com/gpu
字段聲明容器所需的GPU資源。
nvidia.com/gpu
字段值為容器所需的GPU個數,創建GPU Pod時必須明確指定。如果沒有指定該值,Pod啟動后將會報錯。默認情況下,多個容器可以共享使用GPU,配置時需確保單個容器內配置的GPU個數不超過指定的GPU規格所具備的GPU個數。
配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-use-specs: "ecs.gn6i-c4g1.xlarge,ecs.gn6i-c8g1.2xlarge" # 指定支持的ECS GPU規格,單次最多5個。
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
resources:
limits:
nvidia.com/gpu: "1" # nginx容器所需的GPU個數,共享使用。
ports:
- containerPort: 80
- name: busybox
image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
command: ["sleep"]
args: ["999999"]
resources:
limits:
nvidia.com/gpu: "1" # busybox容器所需的GPU個數,共享使用。
默認情況下,ECI GPU實例會根據指定的GPU規格自動安裝支持的驅動和CUDA版本。在一些場景中,您可能需要在不同的ECI GPU實例負載中依賴不同的驅動和CUDA版本,此時,您可以添加Annotation來指定驅動版本。例如,指定ecs.gn6i-c4g1.xlarge規格時,默認安裝的驅動和CUDA版本為NVIDIA 470.82.01,CUDA 11.4,添加k8s.aliyun.com/eci-gpu-driver-version: tesla=525.85.12
的Annotation后可以變更為NVIDIA 525.85.12,CUDA 12.0。YAML示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-use-specs: ecs.gn6i-c4g1.xlarge # 指定支持的GPU規格,該規格支持更換驅動版本。
k8s.aliyun.com/eci-gpu-driver-version: tesla=525.85.12 # 指定GPU驅動版本。
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
resources:
limits:
nvidia.com/gpu: "1" # 容器所需的GPU個數