View a markdown version of this page

Gestion des charges de travail Ray avec kubectl - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des charges de travail Ray avec kubectl

Ray on HyperPod utilise les ressources KubeRay personnalisées en amont sans modification. Si vous exécutez déjà Ray sur Kubernetes, vos manifestes existants s'appliquent tels quels, et la documentation Ray est la référence pour chaque champ. Cette page couvre ce qui est spécifique à HyperPod.

L'accès aux ressources Ray est accordé par les politiques d'accès au HyperPod cluster. Utiliser AmazonSagemakerHyperpodTrainingPolicy pour RayClusterRayJob, etRayCronJob, ou AmazonSagemakerHyperpodInferencePolicy pour RayCluster etRayService. Associez la politique à l'entrée d'accès Amazon EKS pour votre principal IAM, limitée à un espace de noms lorsque les équipes partagent un cluster.

Si votre rôle principal est un rôle d'exécution de domaine SageMaker AI, la HyperPod console accorde la politique et crée l'entrée d'accès pour vous. Pour de plus amples informations, veuillez consulter Configuration de Studio pour Ray.

Ressources personnalisées prises en charge

Ressource Utilisez-le pour Référence
RayCluster Un cluster de longue date auquel vous soumettez des travaux. RayCluster Démarrage rapide dans la documentation Ray
RayJob Un seul travail. KubeRay crée un cluster, exécute la tâche et détruit le cluster lorsqu'il shutdownAfterJobFinishes est créétrue. RayJob Démarrage rapide dans la documentation Ray
RayCronJob Une tâche récurrente selon un calendrier cron, telle que l'inférence nocturne par lots. Définissez spec.timeZone un nom IANA ou le calendrier suit le fuseau horaire local du contrôleur. RayCronJob Démarrage rapide dans la documentation Ray
RayService Une application Ray Serve, déclarée enserveConfigV2, avec des mises à niveau sans interruption de service. Pour des HyperPod exemples pratiques, voir Déploiement d'un modèle avec Ray Serve etDéploiement d'un JumpStart modèle avec Ray Serve. RayService Démarrage rapide dans la documentation Ray
Note

RayCronJobnécessite la KubeRay version 1.6.0 ou une version ultérieure. Sur un opérateur antérieur, le type de ressource n'existe pas. Pour de plus amples informations, veuillez consulter Installation KubeRay sur HyperPod Amazon EKS.

Création d’un cluster

Le manifeste suivant crée un head pod et un groupe de travail GPU sur HyperPod les nœuds.

apiVersion: ray.io/v1 kind: RayCluster metadata: name: my-cluster namespace: my-namespace spec: rayVersion: "2.55.1" headGroupSpec: rayStartParams: dashboard-host: "0.0.0.0" template: spec: containers: - name: ray-head image: rayproject/ray:2.55.1 ports: - { containerPort: 6379, name: gcs-server } - { containerPort: 8265, name: dashboard } - { containerPort: 10001, name: client } resources: requests: { cpu: "2", memory: "4Gi" } workerGroupSpecs: - groupName: gpu-workers replicas: 2 rayStartParams: {} template: spec: nodeSelector: node.kubernetes.io/instance-type: ml.g5.xlarge containers: - name: ray-worker image: rayproject/ray:2.55.1-gpu resources: limits: { nvidia.com/gpu: "1" } requests: { cpu: "4", memory: "16Gi", nvidia.com/gpu: "1" }
kubectl apply -f my-cluster.yaml -n my-namespace kubectl get raycluster my-cluster -n my-namespace
Important

dashboard-hostRéglez 0.0.0.0 sur le groupe de tête. Le Ray Endpoint Operator en a besoin pour diffuser le tableau de bord à l'extérieur du module principal, et l'accès authentifié au tableau de bord échoue sans ce support.

Le cluster est prêt lorsque le module principal et au moins un module de travail sont en cours d'exécution. RayJobRayCronJob, et RayService suivez le même schéma d'application et de vérification, et chacun intègre un élément rayClusterSpec ayant la même forme que ci-dessus. spec

Pour chaque champ accepté par ces ressources, consultez la section RayCluster Configuration dans la documentation Ray.

Soumettre des tâches à un cluster en cours d'exécution

L'application de a RayJob crée un cluster pour cette tâche. Pour soumettre à un cluster déjà en cours d'exécution, utilisez le toolkit-for-ray-on-sagemaker-ai package. Pour de plus amples informations, veuillez consulter Soumettre des offres d'emploi à distance via la bibliothèque de boîtes à outils.