Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Deploy a Ray cluster on ACK

Dernière mise à jour :Aug 11, 2026

Utilisez l'opérateur KubeRay pour déployer et gérer des clusters Ray destinés aux charges de travail d'IA distribuée sur ACK.

Prérequis

Vérifiez les points suivants :

(Facultatif) Configurer la tolérance aux pannes du GCS

Créez une instance ApsaraDB for Tair (compatible Redis) :

Installer l'opérateur KubeRay

  1. Connectez-vous à la console ACK.

  2. Dans le volet de navigation de gauche, cliquez sur Clusters. Cliquez sur le nom de votre cluster.

  3. Accédez à Operations > Add-ons > Manage Applications.

  4. Sous Kuberay-Operator, cliquez sur Install.

image

Déployer le cluster Ray

Important

Cet exemple utilise rayproject/ray:2.36.1 de Docker Hub. Si le téléchargement échoue, utilisez l'une des alternatives suivantes :

Créez un cluster Ray nommé myfirst-ray-cluster :

Le manifeste configure les éléments suivants :

Composant Paramètre Notes
Nœud principal num-cpus: "0" Réserve le nœud principal pour la gestion du cluster
Groupe de workers work1 1 réplica, extensible jusqu'à 1 000 Ajustez replicas en fonction de votre charge de travail
Mise à l'échelle automatique Désactivée (enableInTreeAutoscaling: false) Activez cette option après avoir analysé les modèles de ressources de votre charge de travail

Manifeste complet

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

Vérifier le déploiement

Confirmez que le cluster est en cours d'exécution :

  1. Vérifiez l'état du cluster Ray :

    kubectl get raycluster

    Résultat attendu :

    NAME                  DESIRED WORKERS   AVAILABLE WORKERS   CPUS   MEMORY   GPUS   STATUS   AGE
    myfirst-ray-cluster   1                 1                   5      5G       0      ready    4m19s
  2. Vérifiez les Pods :

    kubectl get pod

    Résultat attendu :

    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. Vérifiez les Services :

    kubectl get svc

    Résultat attendu :

    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

Lorsque l'état du cluster Ray est ready et que tous les Pods affichent 1/1 Running, le déploiement est terminé.