View a markdown version of this page

Gerenciando cargas de trabalho do Ray com kubectl - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciando cargas de trabalho do Ray com kubectl

O Ray on HyperPod usa os recursos KubeRay personalizados upstream sem modificações. Se você já executa o Ray no Kubernetes, seus manifestos existentes se aplicam inalterados, e a documentação do Ray é a referência para todos os campos. Esta página aborda o que é específico para HyperPod.

O acesso aos recursos do Ray é concedido pelas políticas de acesso ao HyperPod cluster. Use AmazonSagemakerHyperpodTrainingPolicy paraRayCluster,RayJob, eRayCronJob, ou AmazonSagemakerHyperpodInferencePolicy para RayCluster RayService e. Associe a política à entrada de acesso do Amazon EKS para seu principal do IAM, com escopo definido para um namespace quando as equipes compartilham um cluster.

Se seu principal for uma função de execução de domínio de SageMaker IA, o HyperPod console concede a política e cria a entrada de acesso para você. Para obter mais informações, consulte Configurando o Studio for Ray.

Recursos personalizados compatíveis

Recurso Use-o para Referência
RayCluster Um cluster de longa duração para o qual você envia trabalhos. RayCluster Início rápido na documentação do Ray
RayJob Um único emprego. KubeRay cria um cluster, executa o trabalho e destrói o cluster quando shutdownAfterJobFinishes estátrue. RayJob Início rápido na documentação do Ray
RayCronJob Um trabalho recorrente em um cronograma cron, como inferência noturna em lote. spec.timeZoneDefina como um nome IANA ou a programação segue o fuso horário local do controlador. RayCronJob Início rápido na documentação do Ray
RayService Um aplicativo Ray Serve, declarado emserveConfigV2, com atualizações sem tempo de inatividade. Para HyperPod exemplos concretos, consulte Implantando um modelo com o Ray Serve Implantando um JumpStart modelo com o Ray Serve e. RayService Início rápido na documentação do Ray
nota

RayCronJobrequer a KubeRay versão 1.6.0 ou posterior. Em um operador anterior, o tipo de recurso não existe. Para obter mais informações, consulte Instalação KubeRay no HyperPod Amazon EKS.

Criação de um cluster

O manifesto a seguir cria um headpod e um grupo de trabalho de GPU nos HyperPod nós.

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
Importante

dashboard-hostDefina 0.0.0.0 como no grupo principal. O Ray Endpoint Operator precisa dele para servir o painel fora do headpod, e o acesso autenticado ao painel falha sem ele.

O cluster está pronto quando o head pod e pelo menos um pod de trabalho estão em execução. RayJob,RayCronJob, e RayService seguem o mesmo padrão de aplicar e verificar, e cada um incorpora um rayClusterSpec com a mesma forma que o anterior. spec

Para cada campo que esses recursos aceitam, consulte RayCluster Configuração na documentação do Ray.

Enviando trabalhos para um cluster em execução

A aplicação de um RayJob cria um cluster para esse trabalho. Para enviar para um cluster que já esteja em execução, use o toolkit-for-ray-on-sagemaker-ai pacote. Para obter mais informações, consulte Enviando trabalhos remotamente com a biblioteca do kit de ferramentas.