Untuk menjalankan inferensi AI, komputasi berkinerja tinggi, atau beban kerja GPU lainnya di Knative, konfigurasikan Layanan Knative Anda agar meminta resource GPU. Anda dapat menetapkan GPU khusus ke layanan atau mengaktifkan berbagi GPU sehingga beberapa Pod membagi satu GPU fisik.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Knative dideploy di kluster ACK Anda. Untuk informasi selengkapnya, lihat Deploy Knative.
Konfigurasikan GPU khusus
Tambahkan dua bidang berikut ke manifes Layanan Knative Anda:
Anotasi
k8s.aliyun.com/eci-use-specsdispec.template.metadata.annotations— menentukan tipe instans ECS yang dipercepat GPU.Batas resource
nvidia.com/gpudispec.containers.resources.limits— menentukan jumlah GPU yang dibutuhkan kontainer. Bidang ini wajib diisi. Jika diabaikan, Pod gagal dimulai.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld-go
spec:
template:
metadata:
labels:
app: helloworld-go
annotations:
k8s.aliyun.com/eci-use-specs: ecs.gn5i-c4g1.xlarge # Tipe instans ECS yang dipercepat GPU
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
ports:
- containerPort: 8080
resources:
limits:
nvidia.com/gpu: '1' # Jumlah GPU yang dibutuhkan. Bidang wajib — mengabaikannya menyebabkan Pod gagal saat startup.Keluarga instans GPU yang didukung
| Instance family | GPU chip | Contoh tipe instans |
|---|---|---|
| gn7i | NVIDIA A10 | ecs.gn7i-c8g1.2xlarge |
| gn7 | — | ecs.gn7-c12g1.3xlarge |
| gn6v | NVIDIA V100 | ecs.gn6v-c8g1.2xlarge |
| gn6e | NVIDIA V100 | ecs.gn6e-c12g1.3xlarge |
| gn6i | NVIDIA T4 | ecs.gn6i-c4g1.xlarge |
| gn5i | NVIDIA P4 | ecs.gn5i-c2g1.large |
| gn5 | NVIDIA P100 | ecs.gn5-c4g1.xlarge |
Keluarga instans gn5 mencakup disk lokal. Untuk memasang disk lokal ke instansi kontainer elastis, lihat Buat instansi kontainer elastis yang memiliki disk lokal terpasang.
Untuk daftar lengkap tipe instans ECS yang dipercepat GPU yang tersedia di wilayah Anda, lihat Tipe instans ECS yang tersedia untuk setiap wilayah. Untuk informasi umum tentang keluarga instans, lihat Ikhtisar keluarga instans.
Instansi kontainer elastis yang dipercepat GPU mendukung driver GPU NVIDIA versi 460.73.01 dan CUDA Toolkit versi 11.2.
Aktifkan berbagi GPU
Berbagi GPU memungkinkan beberapa Pod berbagi satu GPU fisik dengan membagi memori GPU-nya. Fitur ini cocok untuk beban kerja seperti layanan inferensi ringan atau lingkungan pengembangan.
Aktifkan berbagi GPU pada node. Untuk petunjuknya, lihat Aktifkan berbagi GPU.
Dalam manifes Layanan Knative Anda, atur
aliyun.com/gpu-memdi bawahspec.containers.resources.limitsuntuk menentukan ukuran memori GPU (dalam GB) yang dialokasikan untuk setiap kontainer.apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go namespace: default spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: "100" # Jumlah maksimum replika Pod autoscaling.knative.dev/minScale: "0" # Skala ke nol saat tidak aktif spec: containerConcurrency: 1 # Jumlah maksimum permintaan konkuren per replika Pod containers: - image: registry-vpc.cn-hangzhou.aliyuncs.com/hz-suoxing-test/test:helloworld-go name: user-container ports: - containerPort: 6666 name: http1 protocol: TCP resources: limits: aliyun.com/gpu-mem: "3" # Memori GPU yang dialokasikan ke kontainer ini, dalam GB
Langkah berikutnya
Praktik terbaik untuk deploy layanan inferensi AI di Knative — deploy model AI sebagai layanan inferensi, konfigurasikan autoscaling, dan kelola alokasi resource GPU.
FAQ GPU — solusi untuk masalah GPU umum.