All Products
Search
Document Center

Container Service for Kubernetes:Konfigurasikan instans terjadwal Knative

Last Updated:Aug 21, 2026

Untuk aplikasi dengan startup lambat seperti aplikasi Java, kebijakan scale-to-zero bawaan Knative komunitas dapat menyebabkan latensi cold start yang tinggi. ACK menyediakan instans terjadwal yang menjaga instans warm berbiaya rendah tetap aktif selama periode idle agar dapat merespons dengan cepat sekaligus mengendalikan biaya.

Cara kerja

Secara default, Knative menskalakan layanan menjadi nol Pod saat lalu lintas berhenti. Permintaan baru harus menunggu penjadwalan resource, pengunduhan image, dan startup aplikasi—yang dapat memakan waktu beberapa detik.

Dengan instans terjadwal diaktifkan, perilaku ini berubah:

  1. Lalu lintas berhenti — Layanan Knative melakukan scale-in, tetapi satu instans terjadwal tetap online.

  2. Permintaan pertama tiba — Dua aksi terjadi secara bersamaan:

    • Instans terjadwal langsung menangani permintaan tersebut.

    • Knative membuat instans standar untuk mengambil alih lalu lintas yang sedang berlangsung.

  3. Handover lalu lintas — Setelah instans standar siap, permintaan berikutnya diarahkan ke instans tersebut.

  4. Pembersihan — Setelah menangani permintaan awal, instans terjadwal dihentikan.

image

Prasyarat

Sebelum memulai, pastikan Anda telah:

Aktifkan instans terjadwal

Tambahkan anotasi berikut ke manifes Layanan Knative Anda:

Anotasi

Deskripsi

knative.aliyun.com/reserve-instance: "enable"

Mengaktifkan instans terjadwal

knative.aliyun.com/reserve-instance-type: <type>

Tipe instans. Nilai yang valid: eci (default), ecs, acs

Instans yang dicadangkan dikenai biaya secara terus-menerus, bahkan saat tidak ada lalu lintas. Lihat Penagihan.

Pilih tipe instans

Pilih tipe instans untuk beban kerja Anda:

Tipe instans

Paling cocok untuk

Memerlukan

ECI (default)

Beban kerja serverless tujuan umum; tidak perlu manajemen node

ACK Virtual Node

ACS

Beban kerja yang memerlukan kontrol detail halus terhadap kelas komputasi dan tier kualitas

ACK Virtual Node

ECS

Beban kerja GPU atau yang memerlukan tipe instans ECS tertentu

Node ECS yang kompatibel

Jika ragu, mulailah dengan ECI—mencakup sebagian besar skenario dan hanya memerlukan ACK Virtual Node.

Konfigurasikan instans terjadwal ECI

Elastic Container Instance (ECI) adalah tipe default. Gunakan anotasi knative.aliyun.com/reserve-instance-eci-use-specs untuk menentukan resource—berdasarkan tipe instans atau berdasarkan CPU dan memori.

Tentukan berdasarkan tipe instans

Contoh ini menggunakan ecs.t6-c1m1.large dan ecs.t5-lc1m2.small sebagai tipe instans kandidat:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello-spec-1
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-eci-use-specs: "ecs.t6-c1m1.large,ecs.t5-lc1m2.small"
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Tentukan berdasarkan CPU dan memori

Jika Anda tidak memerlukan tipe instans tertentu, tentukan CPU dan memori saja. Contoh ini menggunakan instans 1-core, 2 GiB:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello-spec-2
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-eci-use-specs: "1-2Gi"
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Konfigurasikan instans terjadwal ACS

Instans terjadwal Alibaba Cloud Container Compute Service (ACS) memungkinkan Anda menentukan kelas komputasi dan tier kualitas. Untuk menggunakan ACS, instal ACK Virtual Node dan tambahkan anotasi knative.aliyun.com/reserve-instance-type: acs.

Tentukan berdasarkan kelas komputasi dan kualitas

Gunakan knative.aliyun.com/reserve-instance-acs-compute-class untuk mengatur kelas komputasi dan knative.aliyun.com/reserve-instance-acs-compute-qos untuk mengatur kualitas komputasi. Keduanya opsional.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: acs
        # (Opsional) Kelas komputasi untuk Pod ACS
        knative.aliyun.com/reserve-instance-acs-compute-class: "general-purpose"
        # (Opsional) Kualitas komputasi untuk Pod ACS
        knative.aliyun.com/reserve-instance-acs-compute-qos: "default"
    spec:
      containers:
      - image: registry-vpc.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
        env:
        - name: TARGET
          value: "Knative"

Tentukan berdasarkan CPU dan memori

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go-resource
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: acs
        knative.aliyun.com/reserve-instance-cpu-resource-request: "1"
        knative.aliyun.com/reserve-instance-memory-resource-request: "2Gi"
    spec:
      containers:
      - image: registry-vpc.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
        env:
        - name: TARGET
          value: "Knative"

Konfigurasikan instans terjadwal ECS

Gunakan tipe instans ECS berbiaya lebih rendah untuk mengurangi biaya saat idle. Instans terjadwal ECS cocok untuk beban kerja GPU.

Beban kerja GPU

Contoh ini mengonfigurasi ecs.gn6i-c4g1.xlarge sebagai instans terjadwal GPU spesifikasi rendah untuk layanan inferensi Qwen. Instans standar menggunakan GPU penuh; instans terjadwal menggunakan spesifikasi lebih kecil untuk menangani permintaan pertama dengan biaya lebih rendah.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  labels:
    release: qwen
  name: qwen
  namespace: default
spec:
  template:
    metadata:
      annotations:
        autoscaling.knative.dev/metric: "concurrency"
        # Aktifkan dan konfigurasikan instans terjadwal ECS. Anda dapat mengonfigurasi satu atau beberapa tipe instans.
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: ecs
        knative.aliyun.com/reserve-instance-ecs-use-specs: ecs.gn6i-c4g1.xlarge
      labels:
        release: qwen
    spec:
      containers:
      - command:
        - sh
        - -c
        - python3 -m vllm.entrypoints.openai.api_server --port 8080 --trust-remote-code
          --served-model-name qwen --model /mnt/models/Qwen-7B-Chat-Int8 --gpu-memory-utilization
          0.95 --quantization gptq --max-model-len=6144
        image: kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/vllm:0.4.1
        imagePullPolicy: IfNotPresent
        name: vllm-container
        resources:
          # Konfigurasi resource untuk instans standar
          limits:
            cpu: "16"
            memory: 60Gi
            nvidia.com/gpu: "1"
          requests:
            cpu: "8"
            memory: 36Gi
            nvidia.com/gpu: "1"
        volumeMounts:
        - mountPath: /mnt/models/Qwen-7B-Chat-Int8
          name: qwen-7b-chat-int8
      volumes:
      - name: qwen-7b-chat-int8
        persistentVolumeClaim:
          claimName: qwen-7b-chat-int8-dataset

Tentukan berdasarkan CPU dan memori

Contoh ini menentukan instans terjadwal ECS 1-core, 2 GiB:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-resource
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-type: ecs
        knative.aliyun.com/reserve-instance-cpu-resource-request: "1"
        knative.aliyun.com/reserve-instance-cpu-resource-limit: "1"
        knative.aliyun.com/reserve-instance-memory-resource-request: "2Gi"
        knative.aliyun.com/reserve-instance-memory-resource-limit: "2Gi"
    spec:
      containers:
      - image: registry-vpc.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
        env:
        - name: TARGET
          value: "Knative"

Konfigurasikan pool instans terjadwal

Satu instans terjadwal menangani permintaan pertama setelah idle. Untuk layanan dengan lonjakan lalu lintas yang sering, perluas menjadi pool dengan knative.aliyun.com/reserve-instance-replicas. Saat lalu lintas tiba, instans terjadwal yang telah dipanaskan langsung merespons sementara instans standar melakukan scale-out; begitu instans standar mampu menangani beban, lalu lintas dialihkan ke mereka dan pool instans terjadwal kembali diskalakan ke nol.

Contoh ini membuat pool berisi 3 instans spesifikasi rendah:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello-reserve-pool
spec:
  template:
    metadata:
      annotations:
        knative.aliyun.com/reserve-instance: enable
        knative.aliyun.com/reserve-instance-replicas: "3"
        knative.aliyun.com/reserve-instance-eci-use-specs: "ecs.t6-c1m1.large,ecs.t5-lc1m2.small"
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Terapkan di produksi

Pilih tipe instans berbiaya terendah yang dapat menjalankan aplikasi Anda secara andal dan melayani setidaknya satu permintaan. Instans terjadwal hanya perlu menangani lalu lintas hingga instans standar siap—tidak perlu sesuai spesifikasinya.

Gunakan pool instans terjadwal untuk layanan dengan lonjakan tinggi. Jika layanan Anda menerima lonjakan lalu lintas mendadak, konfigurasikan beberapa replika dengan knative.aliyun.com/reserve-instance-replicas untuk menyerap beban awal.

Pertimbangkan penagihan berkelanjutan saat menentukan ukuran instans terjadwal. Instans terjadwal dikenai biaya setiap saat, termasuk selama periode idle. Gunakan tipe instans terkecil yang mampu menangani satu permintaan untuk menjaga biaya idle tetap rendah.

Monitoring dan peringatan: Pantau scaling Layanan Knative untuk memverifikasi handover dari instans terjadwal ke instans standar. Atur peringatan latensi respons untuk layanan kritis.

Penagihan

Instans terjadwal dikenai biaya terus-menerus, bahkan selama periode idle. Lihat detail penagihan untuk setiap tipe instans:

Langkah selanjutnya