All Products
Search
Document Center

Container Service for Kubernetes:Terapkan kluster Ray di ACK

Last Updated:Jun 19, 2026

Gunakan KubeRay Operator untuk menerapkan dan mengelola kluster Ray guna menjalankan beban kerja AI terdistribusi di ACK.

Prasyarat

Pastikan hal-hal berikut:

  • Kluster Pro managed ACK yang menjalankan Kubernetes v1.24 atau versi lebih baru (buat | upgrade).

  • Setidaknya satu node dengan 8 vCPU dan memori 32 GB (untuk pengujian). Sesuaikan ukuran sesuai beban kerja Anda di lingkungan produksi. Untuk beban kerja GPU, gunakan keluarga instans Elastic Compute Service (ECS) yang didukung.

  • kubectl telah diinstal dan terhubung ke kluster Anda.

  • (Opsional) Instans ApsaraDB for Tair untuk toleransi kesalahan Global Control Store (GCS).

(Opsional) Siapkan toleransi kesalahan GCS

Buat instans ApsaraDB for Tair (kompatibel Redis):

Instal KubeRay Operator

  1. Masuk ke Konsol ACK.

  2. Di panel navigasi sebelah kiri, klik Clusters. Klik nama kluster Anda.

  3. Buka Operations > Add-ons > Manage Applications.

  4. Di bawah Kuberay-Operator, klik Install.

image

Terapkan Kluster Ray

Penting

Contoh ini menggunakan rayproject/ray:2.36.1 dari Docker Hub. Jika proses pull gagal, gunakan salah satu alternatif berikut:

Buat kluster Ray bernama myfirst-ray-cluster:

Manifes ini mengonfigurasi:

Komponen Pengaturan Catatan
Head node num-cpus: "0" Mencadangkan head untuk manajemen kluster
Kelompok worker work1 1 replika, dapat diskalakan hingga 1.000 Sesuaikan nilai replicas agar sesuai dengan workload Anda
Autoscaling Dinonaktifkan (enableInTreeAutoscaling: false) Aktifkan setelah menganalisis pola penggunaan resource workload Anda

Manifes lengkap

cat <<EOF | kubectl apply -f -
apiVersion: ray.io/v1
kind: RayCluster
metadata:
  name: myfirst-ray-cluster
  namespace: default
spec:
  suspend: false
  autoscalerOptions:
    env: []
    envFrom: []
    idleTimeoutSeconds: 60
    imagePullPolicy: Always
    resources:
      limits:
        cpu: 2000m
        memory: 2024Mi
      requests:
        cpu: 2000m
        memory: 2024Mi
    securityContext: {}
    upscalingMode: Default
  enableInTreeAutoscaling: false
  headGroupSpec:
    rayStartParams:
      dashboard-host: 0.0.0.0
      num-cpus: "0"
    serviceType: ClusterIP
    template:
      spec:
        containers:
        - image: rayproject/ray:2.36.1
          imagePullPolicy: Always
          name: ray-head
          resources:
            limits:
              cpu: "4"
              memory: 4G
            requests:
              cpu: "1"
              memory: 1G
  workerGroupSpecs:
  - groupName: work1
    maxReplicas: 1000
    minReplicas: 0
    numOfHosts: 1
    rayStartParams: {}
    replicas: 1
    template:
      spec:
        containers:
        - image: rayproject/ray:2.36.1
          imagePullPolicy: Always
          name: ray-worker
          resources:
            limits:
              cpu: "4"
              memory: 4G
            requests:
              cpu: "4"
              memory: 4G
EOF

Verifikasi penerapan

Konfirmasi bahwa kluster sedang berjalan:

  1. Periksa status kluster Ray:

    kubectl get raycluster

    Output yang diharapkan:

    NAME                  DESIRED WORKERS   AVAILABLE WORKERS   CPUS   MEMORY   GPUS   STATUS   AGE
    myfirst-ray-cluster   1                 1                   5      5G       0      ready    4m19s
  2. Periksa Pod:

    kubectl get pod

    Output yang diharapkan:

    NAME                                     READY   STATUS    RESTARTS   AGE
    myfirst-ray-cluster-head-5q2hk           1/1     Running   0          4m37s
    myfirst-ray-cluster-work1-worker-zkjgq   1/1     Running   0          4m31s
  3. Periksa Service:

    kubectl get svc

    Output yang diharapkan:

    NAME                           TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)                                         AGE
    kubernetes                     ClusterIP   192.168.0.1   <none>        443/TCP                                         21d
    myfirst-ray-cluster-head-svc   ClusterIP   None          <none>        10001/TCP,8265/TCP,8080/TCP,6379/TCP,8000/TCP   6m57s

Saat status kluster Ray menunjukkan ready dan semua Pod menampilkan status 1/1 Running, penerapan telah selesai.