Topik ini menjelaskan cara menentukan tipe instance Elastic Compute Service (ECS) dengan akselerasi GPU untuk membuat pod Elastic Container Instance (ECI).
Keluarga instance yang didukung
Untuk informasi lebih lanjut tentang keluarga instance ECS, lihat topik-topik berikut:
Konfigurasi
Anda dapat menambahkan anotasi k8s.aliyun.com/eci-use-specs ke metadata dalam file konfigurasi pod untuk menentukan tipe instance ECS dengan akselerasi GPU. Setelah menentukan tipe instance ECS dengan akselerasi GPU, tambahkan bidang nvidia.com/gpu ke bagian containers.resources untuk menentukan jumlah GPU yang ingin dialokasikan ke sebuah container.
Nilai dari bidang
nvidia.com/gpumenentukan jumlah GPU yang ingin dialokasikan ke sebuah container. Anda harus menentukan bidang ini saat membuat pod dengan akselerasi GPU. Jika tidak ditentukan, kesalahan akan dikembalikan saat pod dimulai.Secara default, beberapa container dalam instance kontainer elastis dapat berbagi GPU. Pastikan bahwa jumlah GPU yang dialokasikan ke satu container tidak melebihi jumlah GPU yang disediakan oleh tipe instance ECS dengan akselerasi GPU yang ditentukan.
Contoh:
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" # Tentukan maksimal lima tipe instance ECS dengan akselerasi GPU sekaligus.
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
resources:
limits:
nvidia.com/gpu: "1" # Jumlah GPU yang dibutuhkan oleh container Nginx. GPU dibagi.
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" # Jumlah GPU yang dibutuhkan oleh container BusyBox. GPU dibagi.Secara default, instance kontainer elastis dengan akselerasi GPU secara otomatis menginstal versi driver dan CUDA yang didukung berdasarkan tipe instance ECS dengan akselerasi GPU yang ditentukan. Dalam beberapa skenario, Anda mungkin perlu menggunakan versi driver dan CUDA yang berbeda untuk instance kontainer elastis dengan akselerasi GPU yang berbeda. Dalam hal ini, Anda dapat menambahkan anotasi k8s.aliyun.com/eci-gpu-driver-version untuk menentukan versi driver. Sebagai contoh, jika Anda menentukan ecs.gn6i-c4g1.xlarge sebagai tipe instance ECS dengan akselerasi GPU, versi driver dan CUDA default yang diinstal adalah Tesla 470 dan CUDA 11.4. Setelah menambahkan anotasi k8s.aliyun.com/eci-gpu-driver-version: tesla=535, versi driver dan CUDA yang diinstal berubah menjadi Tesla 535 dan CUDA 12.2. Kode berikut memberikan contoh dalam format 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 # Tentukan tipe instance ECS dengan akselerasi GPU yang didukung. Tipe instance mendukung perubahan versi driver.
k8s.aliyun.com/eci-gpu-driver-version: tesla=535 # Tentukan versi driver GPU.
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
resources:
limits:
nvidia.com/gpu: "1" # Jumlah GPU yang dibutuhkan oleh container.