全部產品
Search
文件中心

Elastic Container Instance:指定GPU規格建立Pod

更新時間:Mar 22, 2025

本文介紹如何指定ECS GPU規格建立一個ECI Pod,以及如何修改GPU驅動版本。

規格說明

GPU規格含有GPU計算卡,適用於深度學習、影像處理等情境。GPU對應的Docker鏡像可以直接運行在ECI GPU執行個體上。執行個體內已預裝NVIDIA顯卡裝置驅動,不同GPU規格支援安裝的驅動和CUDA版本不同。

說明

下表中的gn8ia和gn8is目前僅支援海外等部分地區,如有需求,請聯絡阿里雲銷售人員。

規格類型

GPU規格類型系列

驅動和CUDA版本

GPU虛擬化型執行個體規格類型系列

sgn7i-vws

GRID 470,CUDA 11.4(預設安裝)

vgn7i-vws

vgn6i-vws

GPU計算型執行個體規格類型系列

gn7e

  • Tesla 470,CUDA 11.4(預設安裝)

  • Tesla 535,CUDA 12.2

  • Tesla 550,CUDA 12.4

gn7i

gn7s

gn7

gn6v

gn6e

gn6i

gn5i

gn5

gn8ia

  • Tesla 535,CUDA 12.2(預設安裝)

  • Tesla 550,CUDA 12.2

gn8is

重要

自2025年3月17日開始。指定GPU驅動版本不再使用完整版本號碼(如535.161.08),而是只使用大版本號碼(如535),實際建立出的執行個體的驅動版本可能會在保證大版本號碼不變的情況下更新小版本號碼,較老的驅動下線後會自動使用更高版本驅動建立。特定版本驅動的支援時間與NVIDIA官方對該驅動的支援時間一致,具體請參見NVIDIA Driver Documentation

GPU驅動更新記錄

更新時間

更新說明

2025年3月

  • GRID 470驅動更新為470.239.06。

  • Tesla 470驅動更新為470.256.02,Tesla 535驅動更新為535.230.02,Tesla550驅動更新為550.127.08。

  • Tesla 525驅動不再支援,指定該驅動將回退到535版本。

關於ECS規格的詳細資料,請參見:

配置說明

您可以在Pod metadata中添加k8s.aliyun.com/eci-use-specs的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版本,此時,您可以添加k8s.aliyun.com/eci-gpu-driver-version的Annotation來指定驅動版本。

例如,指定ecs.gn6i-c4g1.xlarge規格時,預設安裝的驅動和CUDA版本為Tesla 470,CUDA 11.4,添加k8s.aliyun.com/eci-gpu-driver-version: tesla=535的Annotation後可以變更為Tesla 535,CUDA 12.2。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=535  # 指定GPU驅動版本。
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        resources:
            limits:
              nvidia.com/gpu: "1"    # 容器所需的GPU個數