kuberay简单使用
ray 简介
Ray是一个开源的分布式机器学习框架,不仅拥有高效的分布式训练能力,也有丰富的机器学习应用,极大地降低了大规模机器学习的门槛,非常适合人工智能方向的科研人员和工程师们学习!
Ray有诸多模块,包括
- 实现基本分布式能力的Ray Core
- 进行数据处理的Ray Data
- 进行训练的Ray Train
- 超参数调整的Ray Tune
- 实现推理的Ray Serve
- 强化学习库Ray RLlib
- 以及集合了多种功能的上层机器学习API Ray AIR
kuberay
安装
官网文档: https://docs.ray.io/en/latest/cluster/kubernetes/getting-started.html
使用 helm 安装 ,以 1.3.0 为例
1 | helm repo add kuberay https://ray-project.github.io/kuberay-helm/ |
验证
1 | # kubectl get crd|grep ray |
安装 raycluster
1 | helm install raycluster kuberay/ray-cluster --version 1.3.0 |
验证
1 | # kubectl get rayclusters |
head 可以理解为 master 节点, worker 工作节点
测试
简单测试
1 | export HEAD_POD=$(kubectl get pods --selector=ray.io/node-type=head -o custom-columns=POD:metadata.name --no-headers) |
通过 sdk
1 | # Execute this in a separate shell. |
使用 Rayjob 和 RayService
可以参考文件
1 | kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.3.0/ray-operator/config/samples/ray-job.sample.yaml |
验证
1 | ❯ kubectl get rayjobs.ray.io |
rayservice
1 | # kubectl get pod |grep rayservice |
添加 ingress 测试
1 | --- |
执行命令
1 | $ curl -sS -X POST -H 'Content-Type: application/json' https://kuberay-serve.grafana.eu.org/calc/ -d '["MUL", 3]' |
网页查看
