开源框架Ray支持构建可扩展的人工智能(AI)和Python应用程序,广泛应用于机器学习领域。本文介绍了如何在ACK集群上部署Ray Cluster。
1. 创建集群
关于如何创建集群,请参见创建ACK托管集群;如需升级集群版本,请参见手动升级集群。创建ACK托管集群Pro版且符合以下要求。
集群版本:v1.24及以上。
节点规格:已配置一台8 CPU 32 GB规格及以上的节点。
测试环境可使用推荐的最低规格:生产环境中需以实际情况为准,如需使用GPU节点,请配置GPU节点。
关于ECS支持的实例规格,请参见实例规格族。
已通过kubectl连接Kubernetes集群,且已在本地安装kubectl。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
2. 安装Kuberay-Operator组件
登录容器服务管理控制台,在左侧导航栏选择集群列表。单击目标集群名称,进入集群详情页面,如下图所示按照序号依次单击运维管理 > 组件管理 > 应用管理 > 点击安装Kuberay-Operator,为目标集群安装Kuberay-Operator组件。
3. 部署Ray Cluster
Docker Hub拉取失败解决方案。
由于运营商网络等不稳定因素可能导致镜像加速器无法成功拉取到指定版本的容器镜像,建议您在生产环境中谨慎使用依赖于Docker Hub的容器镜像。本文示例中使用的Ray官方镜像:rayproject/ray:2.36.1
,若您无法拉取,您可参照以下操作,替换成订阅后的镜像地址。
创建全球加速GA(Global Accelerator)实例,使用其覆盖全球的网络加速服务直接拉取海外源镜像。具体操作,请参见使用GA实现ACK跨域加速拉取容器镜像。
执行以下命令创建名为myfirst-ray-cluster
的Ray Cluster,并查看部署情况。
执行以下命令创建Ray Cluster资源。
执行以下命令查看执行部署情况
查看Ray Cluster部署情况。
kubectl get raycluster
预期输出:
NAME DESIRED WORKERS AVAILABLE WORKERS CPUS MEMORY GPUS STATUS AGE myfirst-ray-cluster 1 1 5 5G 0 ready 4m19s
查看Ray Cluster对应Pod。
kubectl get pod
预期输出:
NAME READY STATUS RESTARTS AGE myfirst-ray-cluster-head-5q2hk 1/1 Running 0 4m37s myfirst-ray-cluster-work1-worker-zkjgq 1/1 Running 0 4m31s
查看Ray Cluster对应Service。
kubectl get svc
预期输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 21d myfirst-ray-cluster-head-svc ClusterIP None <none> 10001/TCP,8265/TCP,8080/TCP,6379/TCP,8000/TCP 6m57s