All Products
Search
Document Center

Container Service for Kubernetes:Men-deploy layanan inferensi model KServe dalam mode serverless

Last Updated:Aug 21, 2026

KServe (sebelumnya KFServing) adalah server model cloud-native dan mesin inferensi yang mendukung skalabilitas otomatis, scale-to-zero, serta penerapan canary. Topik ini menjelaskan cara men-deploy layanan inferensi model KServe dalam mode serverless menggunakan Alibaba Cloud Service Mesh (ASM) dan Arena.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Langkah 1: Siapkan data model

Simpan data model menggunakan NAS atau Object Storage Service (OSS). Lihat Memasang volume NAS yang disediakan secara statis dan Menggunakan volume yang disediakan secara statis dengan ossfs 1.0. Contoh ini menggunakan NAS.

1.1 Dapatkan titik pemasangan NAS

  1. Masuk ke Konsol File Storage NAS. Di panel navigasi kiri, pilih File System > File System List. Pilih wilayah sistem file NAS tersebut.

  2. Pada halaman File System List, klik ID sistem file target. Di halaman detail, klik Mount Targets. Arahkan kursor ke ikon image pada kolom Mount Target untuk melihat dan mencatat titik pemasangan beserta perintah mount-nya.

1.2 Konfigurasikan PV dan PVC

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Volumes > Persistent Volumes.

  3. Pada halaman Persistent Volumes, klik Create.

  4. Pada dialog Create PV, atur parameter berikut lalu klik Create untuk membuat PV bernama training-data. Lihat Memasang volume NAS yang disediakan secara statis.

    Parameter Nilai
    PV Type NAS
    Volume Name training-data
    Mount Target Domain Name Pilih titik pemasangan dari langkah 1.1
  5. Di panel navigasi kiri, pilih Volumes > Persistent Volume Claims. Pada halaman Persistent Volume Claims, klik Create.

  6. Pada dialog Create PVC, atur parameter berikut lalu klik Create untuk membuat PVC bernama training-data. Lihat Memasang volume NAS yang disediakan secara statis.

    Parameter Nilai
    PVC Type NAS
    Name training-data
    Allocation Mode Existing Volumes
    Existing Volumes Klik Select PV untuk memilih PV yang telah Anda buat

1.3 Unduh data model ke sistem file NAS

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Nodes > Nodes.

  3. Pada halaman Nodes, klik ID instans node target. Di halaman Instance Details, klik More > Workbench Remote Access > Log in.

  4. Jalankan perintah mount dari langkah 1.1 untuk memasang sistem file NAS.

  5. Unduh model bloom-560m dari Hugging Face dan simpan di pvc://training-data/bloom-560m.

Langkah 2: Deploy layanan inferensi

  1. Periksa sumber daya GPU yang tersedia di kluster:

    arena top node

    Output yang diharapkan:

    NAME                       IPADDRESS      ROLE    STATUS  GPU(Total)  GPU(Allocated)
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   0           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   0           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   0           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   1           0
    cn-beijing.192.1xx.x.xx   192.1xx.x.xx   <none>  Ready   1           0
    ---------------------------------------------------------------------------------------------------
    Allocated/Total GPUs In Cluster:
    0/2 (0.0%)

    Tersedia dua node berakselerasi GPU.

  2. Jalankan layanan inferensi bernama bloom-560m. PVC training-data dipasang ke /mnt/models di dalam kontainer.

    arena serve kserve \
        --name=bloom-560m \
        --image=ghcr.io/huggingface/text-generation-inference:1.0.2 \
        --gpus=1 \
        --cpu=6 \
        --memory=20Gi \
        --port=8080 \
        --env=STORAGE_URI=pvc://training-data \
        "text-generation-launcher --disable-custom-kernels --model-id /mnt/models/bloom-560m --num-shard 1 -p 8080"

    Output yang diharapkan:

    inferenceservice.serving.kserve.io/bloom-560m created
    INFO[0013] The Job bloom-560m has been submitted successfully
    INFO[0013] You can run `arena serve get bloom-560m --type kserve -n default` to check the job status

    Parameter:

    Parameter Wajib Deskripsi
    --name Ya Nama pekerjaan. Harus unik secara global.
    --image Ya Gambar kontainer untuk layanan inferensi.
    --gpus Tidak Jumlah GPU yang dibutuhkan. Nilai default: 0.
    --cpu Tidak Jumlah CPU yang dibutuhkan.
    --memory Tidak Jumlah memori yang dibutuhkan.
    --port Tidak Port yang diekspos untuk akses eksternal.
    --env Tidak Variabel lingkungan dalam bentuk pasangan kunci-nilai. Di sini, STORAGE_URI mengarah ke PVC model.

Langkah 3: Verifikasi layanan inferensi

  1. Periksa status penerapan layanan inferensi KServe:

    arena serve get bloom-560m

    Output yang diharapkan:

    Name:       bloom-560m
    Namespace:  default
    Type:       KServe
    Version:    00001
    Desired:    1
    Available:  1
    Age:        9m
    Address:    http://bloom-560m.default.example.com
    Port:       :80
    GPU:        1
    
    LatestRevision:     bloom-560m-predictor-00001
    LatestPrecent:      100
    
    Instances:
      NAME                                                   STATUS   AGE  READY  RESTARTS  GPU  NODE
      ----                                                   ------   ---  -----  --------  ---  ----
      bloom-560m-predictor-00001-deployment-ff4c49bf6-twrlp  Running  9m   2/2    0         1    cn-hongkong.192.1xx.x.xxx

    Layanan inferensi telah diterapkan. Alamat akses: http://bloom-560m.default.example.com.

  2. Dapatkan alamat IP gerbang masuk ASM. Lihat Mendapatkan alamat IP gerbang masuk ASM.

  3. Kirim permintaan uji ke layanan inferensi menggunakan alamat IP gerbang masuk ASM:

    # Ganti ${ASM_GATEWAY} dengan alamat IP gerbang masuk ASM.
    curl -H "Host: bloom-560m.default.example.com" http://${ASM_GATEWAY}:80/generate \
        -X POST \
        -d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":17}}' \
        -H 'Content-Type: application/json'

    Output yang diharapkan:

    {"generated_text":" Deep Learning is a new type of machine learning that is used to solve complex problems."}

Langkah 4: Perbarui layanan inferensi

Gunakan penerapan canary untuk mengalihkan trafik secara bertahap ke versi model baru.

  1. Buat versi baru model dan salin file model di PVC ke path baru bloom-560m-v2.

  2. Deploy versi baru dengan 10% trafik dialihkan ke versi tersebut:

    arena serve update kserve \
        --name bloom-560m \
        --canary-traffic-percent=10 \
        "text-generation-launcher --disable-custom-kernels --model-id /mnt/models/bloom-560m-v2 --num-shard 1 -p 8080"
  3. Periksa status layanan inferensi:

    arena serve get bloom-560m

    Output yang diharapkan:

    Name:       bloom-560m
    Namespace:  default
    Type:       KServe
    Version:    00002
    Desired:    2
    Available:  2
    Age:        36m
    Address:    http://bloom-560m.default.example.com
    Port:       :80
    GPU:        2
    
    LatestRevision:     bloom-560m-predictor-00002
    LatestPrecent:      10
    PrevRevision:       bloom-560m-predictor-00001
    PrevPrecent:        90
    
    Instances:
      NAME                                                    STATUS   AGE  READY  RESTARTS  GPU  NODE
      ----                                                    ------   ---  -----  --------  ---  ----
      bloom-560m-predictor-00001-deployment-ff4c49bf6-twrlp   Running  36m  2/2    0         1    cn-hongkong.192.1xx.x.xxx
      bloom-560m-predictor-00002-deployment-5b7bb66cfb-nqprp  Running  6m   2/2    0         1    cn-hongkong.192.1xx.x.xxx

    10% trafik dialihkan ke bloom-560m-predictor-00002 (versi baru) dan 90% ke bloom-560m-predictor-00001 (versi sebelumnya).

  4. Setelah versi baru lolos pengujian, alihkan seluruh trafik ke versi tersebut:

    arena serve update kserve \
        --name bloom-560m \
        --canary-traffic-percent=100

(Opsional) Langkah 5: Hapus layanan inferensi

Hapus layanan inferensi untuk melepaskan semua sumber daya GPU dan komputasi:

arena serve delete bloom-560m