All Products
Search
Document Center

Container Service for Kubernetes:Kelola beban kerja AI/ML dengan ack-kube-queue

Last Updated:Jun 16, 2026

Antrikan pekerjaan hingga sumber daya kluster tersedia untuk mencegah konflik sumber daya dan pemborosan GPU/CPU yang menganggur.

Instal ack-kube-queue, aktifkan jenis pekerjaan tambahan jika diperlukan, lalu kirimkan pekerjaan ke antrian.

Cara kerja

ack-kube-queue menggunakan mekanisme suspend native Kubernetes. Saat Anda mengirimkan pekerjaan dengan suspend diatur ke true (melalui bidang atau anotasi), pekerjaan tersebut masuk ke antrian. ack-kube-queue memantau ketersediaan sumber daya dan mengatur suspend menjadi false saat sumber daya mencukupi, sehingga pekerjaan dimulai.

Jenis kluster yang didukung

ack-kube-queue mendukung:

  • Kluster ACK yang dikelola yang menjalankan Kubernetes 1.18 atau lebih baru

  • Kluster ACK Edge yang menjalankan Kubernetes 1.18 atau lebih baru

  • Kluster ACK Lingjun yang menjalankan Kubernetes 1.18 atau lebih baru

Instal ack-kube-queue

Langkah instalasi berbeda tergantung jenis kluster.

Kluster ACK yang dikelola dan kluster ACK Edge

Pilih prosedur sesuai status saat ini dari kluster Anda.

Jika suite AI cloud-native belum diinstal

  1. Aktifkan suite AI cloud-native.

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

  3. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Applications > Cloud-native AI Suite.

  4. Di bagian bawah halaman Cloud-native AI Suite, klik Deploy. Di bagian Scheduling, pilih Kube-Queue. Di bagian Ecosystem Tools, pilih Kubeflow and Arena. Lalu klik Deploy Cloud-native AI Suite.

Jika suite AI cloud-native sudah diinstal

  1. Aktifkan suite AI cloud-native.

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

  3. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Applications > Cloud-native AI Suite.

  4. Instal ack-arena dan ack-kube-queue secara terpisah. Setelah diinstal, Status di bagian Components menampilkan Deployed.

    • Temukan ack-arena dan klik Deploy di kolom Actions. Di panel Parameters, klik OK.

    • Temukan ack-kube-queue dan klik Deploy di kolom Actions. Di panel tersebut, klik OK.

Kluster ACK Lingjun

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, pilih Marketplace > Marketplace.

  2. Di halaman Marketplace, cari ack-kube-queue dan klik namanya.

  3. Di halaman detail aplikasi, klik Deploy. Pada langkah Basic Information, atur Cluster, Namespace, dan Release Name, lalu klik Next.

  4. Pada langkah Parameters, atur Chart Version ke versi terbaru, lalu klik OK.

Aktifkan jenis pekerjaan tambahan

Secara default, ack-kube-queue hanya mengaktifkan antrian untuk pekerjaan native Kubernetes. Untuk mengantrikan pekerjaan TensorFlow, pekerjaan PyTorch, pekerjaan MPI, alur kerja Argo, pekerjaan Ray, atau aplikasi Spark, aktifkan masing-masing jenis tersebut secara individual.

Catatan

Untuk mengantrikan pekerjaan native Kubernetes, kluster harus menjalankan Kubernetes 1.22 atau lebih baru.

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

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Applications > Helm.

  3. Temukan ack-kube-queue dan klik Update di kolom Actions.

  4. Di templat YAML, atur parameter untuk jenis pekerjaan yang akan diaktifkan:

    Parameter Efek
    extension.argo.enable: true Aktifkan alur kerja Argo
    extension.mpi.enable: true Aktifkan pekerjaan MPI
    extension.ray.enable: true Aktifkan pekerjaan Ray
    extension.spark.enable: true Aktifkan aplikasi Spark
    extension.tf.enable: true Aktifkan pekerjaan TensorFlow
    extension.pytorch.enable: true Aktifkan pekerjaan PyTorch
  5. Klik OK.

Kirimkan pekerjaan

Kirimkan setiap jenis pekerjaan yang didukung ke antrian dan verifikasi bahwa pekerjaan tersebut telah masuk antrian.

Batasan

Jenis pekerjaan Batasan
TensorFlow, PyTorch, MPI Harus menggunakan operator yang disediakan oleh ack-arena
MPI Hanya dapat dikirimkan melalui Arena
Alur kerja Argo Hanya alur kerja lengkap yang dapat dimasukkan ke antrian; langkah alur kerja individual tidak dapat. Nyatakan kebutuhan sumber daya dengan anotasi kube-queue/min-resources (lihat Alur kerja Argo).
Pekerjaan native Kubernetes Kluster harus menjalankan Kubernetes 1.22 atau lebih baru

Pekerjaan TensorFlow, pekerjaan PyTorch, dan pekerjaan MPI

Tambahkan anotasi scheduling.x-k8s.io/suspend: "true" ke manifes pekerjaan.

Contoh pekerjaan TensorFlow:

apiVersion: "kubeflow.org/v1"
kind: "TFJob"
metadata:
  name: "job1"
  annotations:
    scheduling.x-k8s.io/suspend: "true"
spec:
...

Verifikasi pekerjaan telah masuk antrian:

kubectl describe tfjob job1

Pekerjaan yang masuk antrian menampilkan kondisi Suspended.

Pekerjaan native Kubernetes

Atur spec.suspend ke true. Saat dikeluarkan dari antrian, ack-kube-queue mengatur bidang ini menjadi false dan pekerjaan dimulai.

apiVersion: batch/v1
kind: Job
metadata:
  generateName: pi-
spec:
  suspend: true
...

Verifikasi pekerjaan telah masuk antrian:

kubectl get job <job-name>

Pekerjaan yang masuk antrian menampilkan SUSPENDED. Saat ack-kube-queue menerima pekerjaan tersebut, status SUSPENDED dihapus dan pekerjaan dimulai.

Alur kerja Argo

Prasyarat: Instal Argo Workflows dari Marketplace di Konsol ACK.

Tambahkan templat kustom bernama kube-queue-suspend dengan tipe suspend, dan atur spec.suspend ke true. Nyatakan kebutuhan sumber daya dengan anotasi kube-queue/min-resources:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: <workflow-name>-
  annotations:
    kube-queue/min-resources: |
      cpu: 5
      memory: 5G
spec:
  suspend: true
  entrypoint: <entrypoint-template>
  templates:
  # Wajib: tambahkan templat suspend bernama kube-queue-suspend
  - name: kube-queue-suspend
    suspend: {}
  - name: <entrypoint-template>
    # ... langkah-langkah alur kerja Anda

Aplikasi Spark

Prasyarat: Instal ack-spark-operator dari Marketplace di Konsol ACK.

Tambahkan anotasi scheduling.x-k8s.io/suspend: "true" ke manifes SparkApplication:

apiVersion: sparkoperator.k8s.io/v1beta2
kind: SparkApplication
metadata:
  generateName: spark-pi-suspend-
  namespace: spark-operator
  annotations:
    scheduling.x-k8s.io/suspend: "true"
spec:
...

Pekerjaan Ray

Prasyarat: Instal Kuberay-Operator dari halaman Add-ons di Konsol ACK. Lihat Kelola komponen.

Atur spec.suspend ke true:

apiVersion: ray.io/v1
kind: RayJob
metadata:
  name: rayjob-sample
spec:
  # Suspend menentukan apakah pengontrol RayJob harus membuat instans RayCluster.
  # Jika pekerjaan diajukan dengan bidang suspend diatur ke true, RayCluster tidak akan dibuat dan kami akan menunggu transisi ke false.
  # Jika RayCluster sudah dibuat, maka akan dihapus. Dalam kasus transisi ke false, RayCluster baru akan dibuat.
  suspend: true
...

Referensi