kyo-tom
发布于 2025-09-23 / 22 阅读
0
0

基于 kubernetes 部署 Ray 集群

对于 Ray On K8S,官方建议使用 KubeRay Operator 进行部署。

KubeRay Operator 就是 Ray 在 Kubernetes 平台上的“管理员”

你只需要告诉它 “我要一个什么样的 Ray 集群”,它就会帮你在 K8s 里自动创建、运维这个集群,并在资源变化时自动调整,省去了你手工写 Deployment、管理节点的麻烦。

KubeRay Operator 支持三种不同的 Kubernetes 自定义资源定义 (CRD):RayCluster、RayJob和RayService。这些 CRD 可帮助用户高效地管理适合各种用例的 Ray 集群。

1、RayCluster 部署

1.1 部署 KubeRay Operator

  • 通过 Helm 在线安装 KubeRay Operator

helm repo add kuberay https://ray-project.github.io/kuberay-helm/
helm repo update
# Install both CRDs and KubeRay operator v1.4.2.
helm install kuberay-operator kuberay/kuberay-operator --version 1.4.2

  • 通过 Helm 离线安装 KubeRay Operator

# 先从 https://github.com/ray-project/kuberay/releases 
# 下载最新的 kuberay-operator-x.y.z.tgz
tar -zxvf kuberay-operator-x.y.z.tgz
helm install kuberay-operator ./kuberay-operator

1.2 安装 Ray-Cluster

  • 通过 Helm 在线安装 ray-cluster

helm install raycluster kuberay/ray-cluster --version 1.4.2
  • 通过 Helm 离线安装 ray-cluster

# 先从 https://github.com/ray-project/kuberay/releases 
# 下载最新的 ray-cluster-x.y.z.tgz
helm install raycluster ./ray-cluster-1.4.2.tgz

# 如果要修改资源配置可用解压 ray-cluster-x.y.z.tgz 后
# 进行相应修改

image-x45j.png

1.3 访问 Ray-Cluster web

可以通过 kubectl port-forward 将 ray-cluster web 的 web 端口 8265 映射到本地

image-jceb.png

映射完成后即可通过 http://localhost:8265 访问:image-jgxg.png

1.4 提交作业

1.4.1 在 head 节点直接提交作业

首先先获取到 head 节点的 pod name

export HEAD_POD=$(kubectl get pods --selector=ray.io/node-type=head -o custom-columns=POD:metadata.name --no-headers)
echo $HEAD_POD
# raycluster-kuberay-head

然后通过 kubectl exec -it 在 head 节点提交一个简单的作业:获取 ray 集群的资源信息:

kubectl exec -it $HEAD_POD -- python -c "import ray; ray.init(); print(ray.cluster_resources())"

如果集群正常则会打印集群信息:image-acou.png

1.4.2 使用 ray job submission SDK 提交作业

首先先安装 ray 客户端:

pip install "ray[default]"

由于在 1.3 中已经将 ray-cluster 的 web 端口 8265 转发到本地的 8265 端口,因此这里直接执行:

ray job submit --address http://localhost:8265 \ -- python -c "import ray; ray.init(); print(ray.cluster_resources())"

同样如果集群正常则会打印集群信息:image-nycv.png


评论