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 |
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 |
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 |
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 |
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-clusternamespace:my-namespacespec: 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 -nmy-namespacekubectl get rayclustermy-cluster-nmy-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
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.