开源框架Ray支持构建可扩展的人工智能(AI)和Python应用程序,广泛应用于机器学习领域。本文介绍了如何在ACK集群上部署Ray Cluster。
1. 前提条件
已创建ACK托管集群Pro版,请参见 创建ACK托管集群。
集群版本:v1.24及以上。如需升级集群版本,请参见手动升级集群。
节点规格:集群中至少包含一台8 vCPU 32 GiB 内存规格及以上的节点。关于ECS支持的实例规格,请参见实例规格族。
本示例推荐的节点规格仅适用于测试环境。生产环境中需以实际情况为准,如需使用GPU节点,请参考为集群添加GPU节点。
已通过kubectl连接Kubernetes集群,且已在本地安装kubectl。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
已安装Kuberay-Operator组件,请参见在ACK中安装KubeRay组件。
2. 部署Ray Cluster
创建名为demo-ray-cluster的RayCluster,并查看部署情况。
使用以下内容创建
ray-cluster.yaml文件。重要下述示例YAML中使用的镜像(
registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/ray)仅用于示例目的,示例镜像中的Ray版本可能滞后。在生产环境中,您需要根据实际情况对镜像进行替换(例如:替换为Ray开源社区最新版本镜像),参见Ray on ACK责任共担。创建示例RayCluster资源。
kubectl apply -f ray-cluster.yaml
查看RayCluster以及相关资源部署情况。
查看RayCluster部署情况。
kubectl get raycluster demo-ray-cluster预期输出:
NAME DESIRED WORKERS AVAILABLE WORKERS CPUS MEMORY GPUS STATUS AGE demo-ray-cluster 1 1 3 6Gi 0 ready 32s查看RayCluster对应Pod。
kubectl get pod预期输出:
NAME READY STATUS RESTARTS AGE demo-ray-cluster-head-mdvzb 1/1 Running 0 46s demo-ray-cluster-worker-group-worker-c6zvw 1/1 Running 0 46s查看RayCluster对应Service。
kubectl get svc预期输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE demo-ray-cluster-head-svc ClusterIP None <none> 10001/TCP,8265/TCP,6379/TCP,8080/TCP,8000/TCP 56s kubernetes ClusterIP 172.16.0.1 <none> 443/TCP 48d
该文章对您有帮助吗?