Kluster ACK Auto Mode mendukung kelompok node Auto Mode. Dengan menggabungkan fitur ini dengan kemampuan autoscaling berbasis permintaan dari Knative Serving, Anda dapat menerapkan model bahasa besar Qwen3.5-4B sebagai layanan inferensi arsitektur tanpa server. Setelah diterapkan, Anda tidak perlu mengelola resource GPU secara manual. Pendekatan ini ideal untuk skenario inferensi model yang sensitif terhadap biaya GPU dan memerlukan kompleksitas operasional yang rendah.
Alur kerja keseluruhan adalah sebagai berikut:
-
Kluster ACK Auto Mode membuat dan melepas node GPU, dengan siklus hidupnya dikelola oleh kelompok node Auto Mode.
-
Knative Serving melakukan scaling terhadap Pod berdasarkan konkurensi permintaan (
concurrency) atau jumlah permintaan per detik (rps).
Step 1: Create an ACK Auto Mode cluster and GPU node pool
1. Create a cluster
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
-
Pada halaman Clusters, klik Create Kubernetes Cluster. Pada halaman ACK Managed Cluster, aktifkan Auto Mode.
Setelah mode ini diaktifkan, halaman akan menampilkan tiga kemampuan inti Auto Mode: fully managed operations (lapisan kontrol yang sepenuhnya dikelola, peningkatan versi otomatis, dan node bebas maintenance dengan pemulihan otomatis), automatic node scaling (skalabilitas elastis sesuai permintaan, pencocokan tipe instans otomatis, dan optimalisasi biaya resource), serta highly optimized node operating system (OS yang dioptimalkan untuk kontainer guna startup cepat, sistem file immutable, dan praktik keamanan terbaik secara default).
-
Ikuti petunjuk di layar untuk mengonfigurasi pengaturan, lalu klik Create Kubernetes Cluster.
Untuk informasi lebih lanjut, lihat Create an ACK Auto Mode cluster.
2. Create a GPU node pool
Pada halaman ACK Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada halaman Node Pools, klik Create Node Pool dan konfigurasikan kelompok node tersebut di dialog Create Node Pool.
Parameter utama dijelaskan di bawah ini. Untuk informasi lebih lanjut, lihat Create a node pool.
-
Configure Managed Node Pool: Kami merekomendasikan menggunakan mode manajemen cerdas.
-
Konfigurasi terkait instans: Untuk Instance Configuration Mode, pilih Specify Instance Type. Lalu, pilih tipe server cloud GPU, seperti V100, A10, atau T4.
-
Node Labels: Tambahkan label
ack.aliyun.com/nvidia-driver-version:550.144.03untuk mengatur versi driver NVIDIA menjadi 550.144.03. -
Container Image Acceleration: Kami merekomendasikan mengaktifkan fitur ini untuk mengurangi waktu pull image model.
-
3. Deploy Knative components
Ikuti petunjuk dalam Deploy Knative components.
Step 2: Prepare model files and upload to OSS
Pada langkah ini, Anda menggunakan instans ECS temporary untuk mengunduh file model Qwen3.5-4B dari ModelScope. Kemudian, Anda menggunakan ossutil untuk mengunggah file tersebut ke bucket OSS. File-file tersebut kemudian dipasang ke kontainer inferensi melalui volume penyimpanan, sehingga model tidak perlu diunduh setiap kali kontainer inferensi dimulai.
Sebelum memulai, pastikan Anda telah menyelesaikan tugas-tugas berikut:
-
Anda telah membuat bucket OSS.
-
Anda telah menginstal dan mengonfigurasi ossutil pada instans ECS temporary.
1. Download Qwen3.5-4B model files
Lakukan operasi berikut pada instans ECS temporary untuk mengunduh file model dari ModelScope.
-
Instal Git.
# Anda dapat menjalankan 'yum install git' atau 'apt install git' untuk menginstalnya. sudo yum install git -
Instal plugin Git LFS (Large File Storage).
# Anda dapat menjalankan 'yum install git-lfs' atau 'apt install git-lfs' untuk menginstalnya. sudo yum install git-lfs -
Clone repositori Qwen3.5-4B dari ModelScope ke mesin lokal Anda, lewati file LFS agar tidak diunduh berulang.
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/qwen/Qwen3.5-4B.git -
Buka direktori tersebut dan tarik file besar yang dikelola oleh Git LFS.
cd Qwen3.5-4B git lfs pull
2. Upload model files to OSS
-
Buat direktori di bucket OSS Anda untuk menyimpan model.
Ganti
<Your-Bucket-Name>dengan nama bucket yang sebenarnya.ossutil mkdir oss://<Your-Bucket-Name>/models/Qwen3.5-4B -
Unggah file model lokal ke OSS.
ossutil cp -r ./Qwen3.5-4B oss://<Your-Bucket-Name>/models/Qwen3.5-4B
3. Configure an OSS storage volume
-
Pilih metode autentikasi (RRSA atau AccessKey) dan siapkan kredensial akses. Hal ini memastikan kluster dapat mengakses resource bucket OSS secara aman dan sesuai kebijakan.
Dokumen ini menggunakan autentikasi AccessKey sebagai contoh. Proses untuk tiap metode sedikit berbeda. Untuk informasi lebih lanjut, lihat Use an ossfs 2.0 static persistent volume.
-
Simpan AccessKey yang diperoleh sebagai rahasia untuk digunakan oleh PV.
Ganti
<yourAccessKeyID>dan<yourAccessKeySecret>dengan kredensial Anda yang sebenarnya. Namespace rahasia 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 agar kluster dapat memasang direktori model di OSS dalam mode read-only. Contoh berikut menggunakan volume penyimpanan statis ossfs 2.0.
Step 3: Deploy and verify Knative service
1. Create a Knative Service
Pada halaman ACK Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada tab Service Management, klik Create from Template. Atur Sample Template menjadi Custom dan ikuti petunjuk di layar untuk menerapkan Knative Service.
Parameter
Description
autoscaling.knative.dev/metricMetrik autoscaling. Nilai yang valid:
-
concurrency(default): Melakukan scaling berdasarkan konkurensi. -
rps: Melakukan scaling berdasarkan jumlah permintaan per detik.
autoscaling.knative.dev/targetAmbang batas autoscaling. Ini adalah nilai target metrik yang memicu autoscaling.
autoscaling.knative.dev/minScaleJumlah replika minimum. Nilainya harus bilangan bulat yang lebih besar dari atau sama dengan 0. Knative Pod Autoscaler (KPA) memungkinkan nilai ini diatur ke 0, sehingga memungkinkan scale-to-zero.
autoscaling.knative.dev/maxScaleJumlah replika maksimum. Ini menetapkan batas atas untuk skala keluar.
-
2. Verify service deployment
-
Pada tab Service Management, pastikan layanan sudah siap. Lalu, peroleh nama domain default dan alamat gerbang akses.
Catatan: Untuk mengakses layanan, kirim permintaan Anda ke alamat gerbang akses dan gunakan header Host untuk menentukan nama domain layanan. Alamat gerbang akses memiliki format
alb-xxx.aliyuncsslb.com, sedangkan nama domain default layanan memiliki formatqwen.default.example.com. -
Kirim permintaan uji ke layanan inferensi.
Ganti
xx.40.85.xxdengan alamat gerbang akses yang sebenarnya danqwen.default.example.comdengan nama domain default yang sebenarnya.curl http://xx.40.85.xx:80/v1/chat/completions \ -H "Host: qwen.default.example.com" \ -H "Content-Type: application/json" \ -d '{ "model": "Qwen3.5-4B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Tell me about Hangzhou" } ] } ], "max_tokens": 200 }'Output yang diharapkan:
{ "id": "chatcmpl-20dfb4c8-d1ab-48bc-9f1a-78b84c6c8adf", "object": "chat.completion", "created": 1772602897, "model": "Qwen3.5-4B", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Hangzhou, disingkat 'Hang', adalah kota setingkat provinsi yang berlokasi di Provinsi Zhejiang, Tiongkok..." }, "finish_reason": "length" } ], "usage": { "prompt_tokens": 14, "completion_tokens": 200, "total_tokens": 214 } }