本文介绍如何指定ECS GPU规格创建一个ECI Pod,以及如何修改GPU驱动版本。
规格说明
关于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个数该文章对您有帮助吗?