All Products
Search
Document Center

Container Service for Kubernetes:Gunakan ACK Serverless untuk menjalankan job

Last Updated:Mar 26, 2026

ACK Serverless menjalankan batch job sesuai permintaan—penagihan berhenti ketika siklus hidup Pod berakhir, sehingga Anda tidak perlu memesan node atau memperluas kluster untuk beban kerja yang bersifat burst. Untuk tugas batch yang sensitif terhadap biaya, Anda dapat mengurangi biaya lebih lanjut dengan menggunakan preemptible instance.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Jalankan job

Langkah 1: Buat manifes job

Buat file bernama job.yaml dengan konten berikut:

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
        resources:
          requests:
            cpu: 16
            memory: 32Gi
      restartPolicy: Never
  backoffLimit: 4

Contoh ini menghitung nilai pi hingga 2.000 tempat desimal menggunakan 16 CPU dan memori 32 GiB.

Langkah 2: Deploy job

kubectl apply -f job.yaml

Langkah 3: Periksa status job

Jalankan perintah berikut untuk memeriksa status Pod:

kubectl get pod

Output yang diharapkan:

NAME       READY   STATUS      RESTARTS   AGE
pi-4f7w5   0/1     Completed   0          80s

Jalankan perintah berikut untuk melihat informasi detail mengenai status Pod:

kubectl describe pod

Output yang diharapkan:

Name:               pi-4f7w5
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               virtual-kubelet-cn-hongkong-b/10.10.66.169
...
Events:
  Type    Reason                 Age   From          Message
  ----    ------                 ----  ----          -------
  Normal  SuccessfulMountVolume  114s  kubelet, eci  MountVolume.SetUp succeeded for volume "default-token-8k4jz"
  Normal  Pulling                113s  kubelet, eci  pulling image "perl"
  Normal  Pulled                 64s   kubelet, eci  Successfully pulled image "perl"
  Normal  Created                64s   kubelet, eci  Created container
  Normal  Started                64s   kubelet, eci  Started container

Gunakan preemptible instance

Preemptible instance dapat mengurangi biaya komputasi. Untuk menggunakan preemptible instance, tambahkan anotasi k8s.aliyun.com/eci-spot-strategy: SpotAsPriceGo ke templat Pod:

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    metadata:
      annotations:
        k8s.aliyun.com/eci-spot-strategy: SpotAsPriceGo
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
        resources:
          requests:
            cpu: 16
            memory: 32Gi
      restartPolicy: Never
  backoffLimit: 4

Untuk informasi selengkapnya, lihat Gunakan preemptible instance.

Langkah berikutnya

  • Pelajari konsep Job Kubernetes untuk mengonfigurasi parallelism, jumlah penyelesaian, dan penanganan kegagalan.