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á.
Implantando um modelo com o Ray Serve
Você implanta um modelo com um RayService recurso. O serveConfigV2 campo contém seus aplicativos do Serve e suas implantações e KubeRay cria o cluster Ray que os executa. HyperPod não modifica KubeRay, então um RayService que você já executa continua funcionando.
Um RayService manifesto
O manifesto a seguir executa um aplicativo Serve com uma única GPU-backed implantação. import_pathSubstitua pelo módulo e pelo objeto do aplicativo em seu diretório de trabalho.
apiVersion: ray.io/v1 kind: RayService metadata: name: my-service namespace: my-namespace spec: serveConfigV2: | applications: - name: my-app import_path: my_module:app route_prefix: / deployments: - name: Model num_replicas: 2 ray_actor_options: num_gpus: 1 rayClusterConfig: rayVersion: "2.56.1" headGroupSpec: rayStartParams: dashboard-host: "0.0.0.0" template: spec: containers: - name: ray-head image: rayproject/ray:2.56.1 ports: - { containerPort: 8265, name: dashboard } - { containerPort: 8000, name: serve } workerGroupSpecs: - groupName: gpu-workers replicas: 1 rayStartParams: {} template: spec: nodeSelector: node.kubernetes.io/instance-type: ml.g5.xlarge containers: - name: ray-worker image: rayproject/ray:2.56.1-gpu resources: limits: { nvidia.com/gpu: "1" } requests: { cpu: "4", memory: "16Gi", nvidia.com/gpu: "1" }
Inscreva-se e confirme se o serviço está pronto:
kubectl apply -f my-service.yaml -n my-namespace kubectl get rayservice my-service -n my-namespace
Alcançando o endpoint
Ray Serve escuta 8000 na porta do headpod. De dentro do cluster, envie solicitações para o serviço que KubeRay cria para RayService o. Para testes rápidos, você pode usarkubectl port-forward:
kubectl port-forward svc/ray-service-head-svc8000:8000 curl http://localhost:8000/
Para a API de implantação do Serve e o tratamento de solicitações, consulte a API Ray Serve