全部產品
Search
文件中心

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

更新時間:Jul 06, 2024

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

規格說明

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

規格類型

GPU規格類型系列

驅動和CUDA版本

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

sgn7i-vws

NVIDIA 470.141.03,CUDA 11.4

vgn7i-vws

vgn6i-vws

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

gn7e

  • NVIDIA 470.82.01,CUDA 11.4(預設安裝)

  • NVIDIA 525.85.12,CUDA 12.0

gn7i

gn7s

gn7

gn6v

gn6e

gn6i

gn5i

gn5

關於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個數