Dalam beban kerja inferensi AI, kecepatan penskalaan GPU memengaruhi ketersediaan layanan saat beban puncak. ACK Auto Mode mengoptimalkan elastisitas GPU untuk memperluas node GPU secara otomatis dan menangani operasi dasar. Topik ini menggunakan Qwen3.5-2B untuk mendemonstrasikan cara men-deploy layanan inferensi model besar dengan cepat menggunakan vLLM.
Prasyarat
-
Kluster ACK Auto Mode telah dibuat.
-
Kelompok node GPU yang memenuhi syarat telah dibuat dalam mode intelligent hosting.
Langkah 1: Siapkan file model dan mount OSS
Unduh model Qwen3.5-2B dari ModelScope ke instans ECS sementara, unggah ke OSS, lalu buat PersistentVolume (PV) dan PersistentVolumeClaim (PVC) agar kontainer inferensi dapat memuat model tanpa perlu mengunduhnya berulang kali.
Sebelum memulai:
-
Bucket OSS telah dibuat.
-
ossutil telah diinstal dan dikonfigurasi pada instans ECS sementara.
1. Unduh model Qwen3.5-2B
Jalankan perintah berikut pada instans ECS sementara.
-
Instal Git.
# Anda dapat menjalankan yum install git atau apt install git untuk menginstalnya. sudo yum install git -
Instal ekstensi Git Large File Storage (LFS).
# Anda dapat menjalankan yum install git-lfs atau apt install git-lfs untuk menginstalnya. sudo yum install git-lfs -
Inisialisasi Git LFS dan clone repositori Qwen3.5-2B dari ModelScope. Lewati file LFS untuk menghindari unduhan duplikat.
git lfs install GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/Qwen/Qwen3.5-2B.git -
Buka direktori repositori, lalu tarik file model LFS.
cd Qwen3.5-2B/ git lfs pull
2. Unggah file model ke OSS
-
Buat direktori di bucket OSS untuk model.
Ganti
<Your-Bucket-Name>dengan nama bucket Anda yang sebenarnya.ossutil mkdir oss://<Your-Bucket-Name>/models/Qwen3.5-2B -
Unggah file model ke OSS.
ossutil cp -r ./Qwen3.5-2B oss://<Your-Bucket-Name>/models/Qwen3.5-2B
3. Konfigurasikan volume OSS
Buat PV dan PVC untuk me-mount direktori model di OSS sebagai volume read-only. Lihat Menggunakan volume statis dengan ossfs 2.0.
-
Pilih metode autentikasi (RRSA atau AccessKey) dan siapkan kredensial akses agar kluster dapat mengakses OSS.
Contoh ini menggunakan autentikasi AccessKey. Lihat Menggunakan volume statis dengan ossfs 2.0 untuk mengetahui perbedaannya.
-
Simpan AccessKey Anda sebagai Secret untuk PV.
Ganti
<yourAccessKeyID>dan<yourAccessKeySecret>dengan kredensial Anda yang sebenarnya. Namespace Secret harus sesuai dengan namespace aplikasi.kubectl create -n default secret generic oss-secret --from-literal='akId=<yourAccessKeyID>' --from-literal='akSecret=<yourAccessKeySecret>' -
Buat PV dan PVC untuk me-mount direktori model OSS sebagai volume read-only. Contoh ini menggunakan volume statis dengan ossfs 2.0.
Langkah 2: Deploy dan verifikasi layanan inferensi
1. Buat Deployment dan Service
Gunakan vLLM untuk men-deploy model Qwen3.5-2B sebagai Deployment dan mengeksposnya sebagai LoadBalancer Service.
-
Pada halaman ACK Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Klik Create from YAML dan kirimkan YAML berikut.
Setelah YAML dikirimkan, jika kluster kekurangan sumber daya GPU, pod akan memasuki status
Pending. ACK Auto Mode secara otomatis memicu scale-out node GPU, membuat node baru, dan menjadwalkan pod setelah inisialisasi node selesai tanpa memerlukan intervensi manual. Ketika pod memasuki statusRunning, layanan siap digunakan.Lihat status aplikasi pada halaman Deployments.
2. Verifikasi layanan inferensi
-
Dapatkan alamat IP publik Service.
export EXTERNAL_IP=$(kubectl get svc qwen-2b -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo ${EXTERNAL_IP} -
Kirim permintaan inferensi untuk memverifikasi layanan.
Ganti
8.XX.XX.89dengan alamat IP publik Anda.curl http://8.XX.XX.89:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "Qwen3.5-2B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Kubernetes" } ] } ], "max_tokens": 200 }'Output yang diharapkan:
{"id":"chatcmpl-98f158cdbbb38087","object":"chat.completion","created":1775043962,"model":"Qwen3.5-2B","choices":[{"index":0,"message":{"role":"assistant","content":"**Kubernetes** is an open-source container orchestration platform that automates deployment, scaling, management, and repair of containerized applications..."},"finish_reason":"length"}],"usage":{"prompt_tokens":14,"total_tokens":214,"completion_tokens":200}}