Node virtual GPU-HPN di kluster ACS mengekspos label atribut GPU yang memungkinkan Anda mengarahkan Pod ke model GPU atau zona jaringan tertentu—tanpa mengubah kode aplikasi Anda.
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Mengaitkan kluster dengan reservasi kapasitas GPU-HPN
Label atribut GPU
Setiap node virtual GPU-HPN memiliki label berikut.
| Label | Description |
|---|---|
alibabacloud.com/gpu-model-series |
Model GPU yang digunakan oleh node virtual |
alibabacloud.com/node-series |
Jenis resource yang dipesan untuk node virtual |
alibabacloud.com/hpn-zone |
Zona jaringan berkinerja-tinggi |
Untuk melihat model GPU yang didukung oleh reservasi kapasitas Anda, ajukan Tiket.
Pilih metode penjadwalan
Kubernetes menyediakan dua cara untuk mengarahkan Pod ke node tertentu.
| Method | How it works | When to use |
|---|---|---|
| node selector | Pencocokan ketat — Pod hanya dijadwalkan ke node dengan nilai label yang persis sama. | Mengikat ke model GPU tertentu tanpa fallback. |
| node affinity | Mendukung kendala ketat (required) dan kendala lunak (preferred). |
Aturan yang lebih fleksibel, seperti lebih memilih satu model GPU tetapi menerima model lain. |
Contoh berikut menggunakan node selector. Untuk sintaksis node affinity, lihat dokumentasi Kubernetes.
Jadwalkan Pod ke model GPU tertentu
Contoh ini menjalankan pekerjaan pelatihan TensorFlow MNIST pada node virtual dengan model GPU tertentu.
-
Buat file bernama
tensorflow-mnist.yamldengan konten berikut.apiVersion: batch/v1 kind: Job metadata: name: tensorflow-mnist spec: parallelism: 1 template: metadata: labels: app: tensorflow-mnist spec: nodeSelector: alibabacloud.com/gpu-model-series: "gpu-example" # Ganti dengan model GPU Anda containers: - name: tensorflow-mnist image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5 command: - python - tensorflow-sample-code/tfjob/docker/mnist/main.py - --max_steps=1000 - --data_dir=tensorflow-sample-code/data resources: requests: cpu: 1 memory: 1 nvidia.com/gpu: 1 limits: cpu: 1 memory: 1 nvidia.com/gpu: 1 workingDir: /root restartPolicy: Never -
Deploy Pekerjaan tersebut.
kubectl apply -f tensorflow-mnist.yaml -
Periksa status Pod.
kubectl get pod -l app=tensorflow-mnist -o widePeriksa kolom NODE untuk memastikan Pod berjalan pada node virtual yang diharapkan.
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES default tensorflow-mnist-xxx 0/2 Running 0 4h2m <none> cn-shanghai-b.cr-u4ub6c3un2mrjlct2l9c <none> <none>Output menunjukkan bahwa Pod berjalan pada node virtual yang menggunakan GPU gpu-example.