Spécifiez un type d'instance ECS accéléré par GPU pour votre pod ECI et remplacez la version par défaut du pilote GPU.
Types d'instances pris en charge
Pour plus d'informations sur les types d'instances ECS, consultez les rubriques suivantes :
Configurer un pod GPU
Ajoutez l'annotation k8s.aliyun.com/eci-use-specs aux métadonnées du pod pour spécifier un type d'instance GPU. Chaque conteneur doit également déclarer le champ nvidia.com/gpu dans sa section resources.
Le champ
nvidia.com/gpuspécifie le nombre de GPU requis par conteneur. La création du pod échoue si ce champ est absent.Par défaut, les conteneurs partagent les GPU. Le nombre de GPU alloués à un seul conteneur ne doit pas dépasser le total disponible pour le type d'instance.
Exemple de fichier YAML :
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:
# Specify up to five GPU-accelerated ECS instance types at a time, separated by commas.
# The system selects the first available type from the list.
k8s.aliyun.com/eci-use-specs: "ecs.gn6i-c4g1.xlarge,ecs.gn6i-c8g1.2xlarge"
spec:
containers:
- name: nginx
image: registry-us-east-1.aliyuncs.com/eci_open/nginx:1.14.2
resources:
limits:
nvidia.com/gpu: "1" # Request 1 GPU for this container (GPUs are shared by default).
ports:
- containerPort: 80
- name: busybox
image: registry-us-east-1.aliyuncs.com/eci_open/busybox:1.30
command: ["sleep"]
args: ["999999"]
resources:
limits:
nvidia.com/gpu: "1" # Request 1 GPU for this container (GPUs are shared by default).
ECI installe un pilote GPU et une version CUDA par défaut selon le type d'instance. Pour remplacer cette configuration, ajoutez l'annotation k8s.aliyun.com/eci-gpu-driver-version.
Par exemple, ecs.gn6i-c4g1.xlarge utilise par défaut Tesla 550 / CUDA 12.4. L'ajout de k8s.aliyun.com/eci-gpu-driver-version: tesla=535 permet de basculer vers Tesla 535 / CUDA 12.2 :
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:
# Specify a supported GPU instance type that allows you to change the driver version.
k8s.aliyun.com/eci-use-specs: ecs.gn6i-c4g1.xlarge
# Override the default driver version (Tesla 550) with Tesla 535.
k8s.aliyun.com/eci-gpu-driver-version: tesla=535
spec:
containers:
- name: nginx
image: registry-us-east-1.aliyuncs.com/eci_open/nginx:1.14.2
resources:
limits:
nvidia.com/gpu: "1" # Request 1 GPU for this container.