Node yang dipercepat FPGA dalam kluster ACK memiliki label node khusus yang mengekspos atribut perangkat keras FPGA. Gunakan label tersebut dalam nodeSelector workload Anda agar pod hanya dijalankan pada node FPGA—mencegah workload biasa mengonsumsi kapasitas FPGA.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat kluster ACK dengan node yang dipercepat FPGA. Lihat Buat kluster ACK dengan node yang dipercepat FPGA.
Mengonfigurasi kubectl untuk terhubung ke kluster. Lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster.
Label node FPGA
Saat Anda menambahkan node yang dipercepat FPGA ke kluster ACK, ACK secara otomatis menambahkan label node yang menggambarkan perangkat keras FPGA. Label berikut digunakan untuk penjadwalan:
| Label | Nilai | Deskripsi |
|---|---|---|
fpga.k8s.aliyun.com | f3 | Instans ECS f3 FPGA Alibaba Cloud |
Tetapkan label ini sebagai nodeSelector dalam spesifikasi workload Anda untuk menargetkan node FPGA. Tetapkan juga resources.limits dengan kunci resource FPGA yang sesuai untuk meminta satu unit FPGA.
Langkah 1: Lihat label node FPGA
Metode 1: Konsol ACK
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Pada halaman Clusters, temukan kluster tersebut lalu klik namanya. Di panel navigasi sebelah kiri, pilih Nodes > Nodes.
Pada halaman Nodes, temukan node yang dipercepat FPGA, lalu pilih More > Details di kolom Actions. Lihat label yang melekat pada node tersebut.

Metode 2: kubectl
Daftar semua node dalam kluster:
kubectl get nodesOutput yang diharapkan:
NAME STATUS ROLES AGE VERSION cn-beijing.192.168.XX.X1 Ready <none> 3h51m v1.18.8-aliyun.1 cn-beijing.192.168.XX.X2 Ready <none> 3h41m v1.18.8-aliyun.1Periksa detail node yang dipercepat FPGA untuk melihat labelnya:
kubectl describe node cn-beijing.192.168.XX.X2Output yang diharapkan:
Name: cn-beijing.192.168.XX.X2 Roles: <none> Labels: ack.aliyun.com=c05888610e*** alibabacloud.com/nodepool-id=npfda879b6*** beta.kubernetes.io/arch=amd64 beta.kubernetes.io/instance-type=ecs.f3-c4f1.xlarge beta.kubernetes.io/os=linux failure-domain.beta.kubernetes.io/region=cn-beijing failure-domain.beta.kubernetes.io/zone=cn-beijing-h fpga.k8s.aliyun.com=f3 kubernetes.io/arch=amd64 kubernetes.io/hostname=cn-beijing.192.168.XX.X2 kubernetes.io/os=linux node.kubernetes.io/instance-type=ecs.f3-c4f1.xlarge topology.diskplugin.csi.alibabacloud.com/zone=cn-beijing-h topology.kubernetes.io/region=cn-beijing topology.kubernetes.io/zone=cn-beijing-hLabel
fpga.k8s.aliyun.com=f3mengidentifikasi bahwa ini adalah instans ECS f3 FPGA. Gunakan label ini pada langkah berikutnya untuk menargetkan node tersebut.
Langkah 2: Jadwalkan pod ke node yang dipercepat FPGA
Spesifikasi Job berikut menggunakan nodeSelector: fpga.k8s.aliyun.com: f3 untuk menargetkan node FPGA f3 dan xilinx.com/fpga-aliyun-f3: 1 untuk meminta satu unit FPGA.
Masuk ke ACK console. Di panel navigasi sebelah kiri, klik Clusters.
Pada halaman Clusters, temukan kluster tersebut lalu klik namanya. Di panel navigasi sebelah kiri, pilih Workloads > Deployments.
Pada halaman Deployments, klik Create from YAML.
Pilih templat kustom dari daftar drop-down templat contoh, lalu salin konten berikut ke bidang Template.
apiVersion: batch/v1 kind: Job metadata: name: fpga-run-task1 spec: backoffLimit: 0 completions: 1 parallelism: 1 template: spec: nodeSelector: fpga.k8s.aliyun.com: f3 containers: - image: <your image> imagePullPolicy: Always name: fpga-run-task1 resources: limits: xilinx.com/fpga-aliyun-f3: 1 securityContext: privileged: trueGanti nilai
<your image>dengan alamat gambar kustom Anda.Klik Create. Di panel navigasi sebelah kiri pada halaman detail kluster, pilih Workloads > Pods. Dalam daftar pod, Anda dapat melihat bahwa pod yang ditentukan telah dijadwalkan ke node yang dipercepat FPGA yang sesuai. Anda dapat dengan mudah menggunakan label untuk menjadwalkan pod ke node FPGA tertentu.