[{ "title": "云原生AI套件", "url": "/data-on-ack/cloud-native-ai-suite.html", "parent": "", "excerpt": "云原生AI套件云原生AI套件（Cloud-native AI Suite）是 Data/AI on ACK 的核心能力，基于阿里云容器服务 ACK 构建的云原生 AI/ML 平台，为数据科学家和算法工程师提供模型开发、训练和管理的完整工具链。本部分包含以下文档： 部署指南 — 在 ACK 集群上安装 AI 开发平台的完整步骤 功能使用指南 — 运维控制台和开发控制台的核心功能介绍 运维指南 — 日常运维操作：升级、扩缩容、故障排查、备份恢复" },{ "title": "部署指南", "url": "/data-on-ack/deploy-guide.html", "parent": "云原生AI套件", "excerpt": "部署指南：在 ACK 上安装 AI 开发平台本文介绍如何在阿里云容器服务 ACK（Kubernetes）集群上部署 data-on-ack AI 开发平台，包含运维控制台（ai-dashboard）和开发控制台（ai-dev-console）。前提条件      条件   说明         ACK Pro 集群   版本 &gt;= 1.20，已安装 Nginx Ingress Controller       Helm 3   本地已安装 helm CLI       kubectl   已配置 kubeconfig 连接到目标集群       阿里云账号   主账号或具有 RAM/IMS 权限的子账号       Prometheus 监控   集群已开启 ARMS Prometheus 监控   架构概览          ┌────────────────────────..." },{ "title": "在 ACK 上从 Ray 使用 cGPU 共享显卡", "url": "/data-on-ack/ray/2-advanced/gpu-sharing-with-cgpu/", "parent": "Ray 高级实践", "excerpt": "在 ACK 上从 Ray 使用 cGPU 共享显卡cGPU是阿里云的容器 GPU 共享技术:多个 Pod 共享一块物理 GPU,由内核模块把每个 Pod 的显存(以及可选的算力)限制在一个切片内,互不挤占。在 ACK 上,共享 GPU 通过扩展资源 aliyun.com/gpu-mem(单位 GiB)申请,而不是整卡的 nvidia.com/gpu。Ray 不识别 aliyun.com/gpu-mem 资源。本文说明如何使 KubeRay worker 调度到 cGPU 切片、并将该切片作为一块 GPU 暴露给 Ray,以及如何验证显存隔离。本文内容在 ACK Pro(K8s 1.34)集群上验证,节点规格为 ecs.gn7i-c8g1.2xlarge(NVIDIA A10,22 GiB),将 8 GiB 切片分配给单个 Ray worker。前提条件 ACK Pro 托管集群(托管..." },{ "title": "使用 Kubernetes RBAC 认证访问 Ray 集群", "url": "/data-on-ack/ray/2-advanced/access-ray-cluster-with-k8s-rbac-authentication/", "parent": "Ray 高级实践", "excerpt": "使用 Kubernetes RBAC 认证访问 Ray 集群本文介绍在 ACK 托管集群上验证使用Kubernetes RBAC 认证访问 Ray 集群 ，使用托管的 KubeRay Operator（v1.5.1）与 Ray 2.55.0。背景Ray Head 暴露的三个端口 —— 作业提交 API / Dashboard（8265）、Ray Client（10001）、GCS（6379）—— 默认都不做认证。能访问 8265 就能提交作业，等同于在 Worker Pod 内执行任意代码，且这些代码会继承 Pod 的 ServiceAccount Token 与通过 RRSA 绑定的 RAM 角色。Ray 2.55.0 起可将 Token 校验委托给 Kubernetes：每次请求都向 ACK API Server 问两个问题，于是”谁能用哪个 Ray 集群”就变成了普通的 Kub..." },{ "title": "在阿里云上使用Ray GCS 容错", "url": "/data-on-ack/ray/2-advanced/gcs-fault-tolerance-on-aliyun/", "parent": "Ray 高级实践", "excerpt": "在阿里云上使用Ray GCS 容错GCS（Global Control Service）是 Ray 的集群级元数据服务，运行在 head Pod 内，负责节点注册、actor 注册表、placement group、Job 元数据和资源管理。默认这些数据只存在 head 进程的内存里，没有任何副本。head 进程一退出，集群状态就跟着消失，一次进程级故障会沿下面这条链路放大成整个集群作废：GCS 进程挂掉 → worker 上的 raylet 与 GCS 断连       → 超过 RAY_gcs_rpc_server_reconnect_timeout_s（head 默认 60 秒）后 head 退出       → head 重启，但内存里的集群状态已全部丢失       → 新 head 不认识老 worker，将其终止       → 集群实际上是重建，而不是恢复开启 GCS..." },{ "title": "在 ACK 上配置 Ray 对象存储和对象溢出（Object Spilling）", "url": "/data-on-ack/ray/2-advanced/plasma-object-store-conf-on-ack/", "parent": "Ray 高级实践", "excerpt": "在 ACK 上配置 Ray 对象存储和对象溢出（Object Spilling）本文介绍如何在阿里云 ACK 集群上配置 Ray 的对象存储（object store）及其溢出（spilling）行为：对象存储的工作原理、如何设置其大小、以及如何让 Ray 在对象存储满时将数据溢出到 Kubernetes 卷（以 ESSD 云盘为例）。本文面向 Ray on Kubernetes 的新手用户。Ray 官方对象溢出文档是本文的重要参考：Object Spilling — Ray Core。前提条件 已创建 ACK 托管版集群 集群中已安装 KubeRay Operator 组件 云盘 CSI 插件（diskplugin.csi.alibabacloud.com），ACK 托管版集群默认已安装背景：Ray 对象存储与溢出机制 每个 Ray 节点运行一个基于共享内存的 对象存储（objec..." },{ "title": "在 eRDMA 上使用 NIXL", "url": "/data-on-ack/ray/2-advanced/ray-direct-transport-on-erdma/nixl/", "parent": "在 eRDMA 上运行 Ray Direct Transport（RDT）", "excerpt": "在 eRDMA 上使用 NIXL主文档使用 NCCL 作为 RDT 的传输后端,因为 NIXL 在 eRDMA 上无法开箱使用。本目录记录使 NIXL 在 eRDMA 上工作所需的步骤及实测效果。以下两种方案均在两台 ecs.ebmgn9gc.64xlarge(RTX PRO 5000,两块 eRDMA 网卡,合计约 380 Gbps)上验证通过。快捷方式:使用预构建镜像以下内容均已通过 Dockerfile 构建进镜像,并由 build-job.yaml 在集群内构建:kubectl apply -f build-job.yaml   # 创建上下文 PVC 和 Jobkubectl logs -f job/nixl-image-build之所以用 Job 而不是 kubectl exec，是为了让构建不受本地网络断开影响；BuildKit 缓存热的情况下约 10 分钟。开始前需要..." },{ "title": "在 eRDMA 上运行 Ray Direct Transport（RDT）", "url": "/data-on-ack/ray/2-advanced/ray-direct-transport-on-erdma/", "parent": "Ray 高级实践", "excerpt": "在 eRDMA 上运行 Ray Direct Transport（RDT）Ray Direct Transport（RDT）是 Ray 2.57 引入的能力，可以让 Ray 在 Actor 之间直接传输 GPU 张量，绕过 Ray 对象存储。传统路径需要把张量拷回 host 内存、序列化写入对象存储，再在接收端反序列化；而 RDT 让张量始终留在显存中，通过高性能传输后端（NCCL、GLOO 或 NIXL）点对点发送。eRDMA（弹性 RDMA）是阿里云在普通 ECS 实例规格上提供的弹性 RDMA 网络。借助 eRDMA，你可以在普通 ACK GPU 节点池上获得 RDMA 级别的跨节点 GPU 到 GPU 传输，无需专用 InfiniBand 集群。本文介绍如何： 使用集群内的 BuildKit 构建带 eRDMA 用户态库的 Ray 镜像。 部署 GPU worker 申请 a..." },{ "title": "Ray 高级实践", "url": "/data-on-ack/ray/2-advanced/", "parent": "Ray", "excerpt": "Ray 高级实践本部分收录在 ACK 上使用 Ray 的实践文档。" },{ "title": "部署并使用基础 Ray Service", "url": "/data-on-ack/ray/1-user-guide/4-deploy-a-basic-ray-service/", "parent": "Ray 用户指南", "excerpt": "部署并使用基础 Ray Service本文介绍如何在 ACK 集群上通过 KubeRay 的 RayService 自定义资源部署一个基础的 Ray Serve 应用，以及如何访问和更新它。RayService 会为你管理两件事： 承载 Serve 应用的 RayCluster。 Serve 应用本身，通过 serveConfigV2 声明式描述。KubeRay 负责把应用部署到集群上、监控其健康状态，并在配置变更时执行零中断升级。前提条件 已创建 ACK 托管版集群 集群中已安装 KubeRay Operator 组件示例说明示例部署一个最简单的 HTTP 应用。Serve 应用代码放在 ConfigMap（ray-serve-app）中，同时挂载到 head 和 worker Pod，并通过 PYTHONPATH 指向挂载路径，使 Serve 能够导入它。这样示例完全自包含：既不..." },{ "title": "部署并使用基础 RayCluster", "url": "/data-on-ack/ray/1-user-guide/1-set-up-a-basic-raycluster/", "parent": "Ray 用户指南", "excerpt": "部署并使用基础 RayCluster本文介绍如何在 ACK 集群上通过 KubeRay 部署一个基础 RayCluster（1 个 head + 1 个 worker），并运行一个简单的 Ray Actor 示例程序。前提条件 已创建 ACK 托管版集群 集群中已安装 KubeRay Operator 组件1. 部署 RayClusterkubectl apply -f ray-cluster.yaml预期输出：raycluster.ray.io/demo-ray-cluster created等待 Pod 就绪：kubectl get pods预期输出（1 个 head Pod 和 1 个 worker Pod 均为 Running）：NAME                     READY  STATUS  RESTARTS  AGEdemo-ray-cluster-head..." },{ "title": "运行基础 Ray Job", "url": "/data-on-ack/ray/1-user-guide/2-run-a-basic-ray-job/", "parent": "Ray 用户指南", "excerpt": "运行基础 Ray Job本文介绍如何在 ACK 集群上通过 KubeRay 运行 Ray Job，包含两种方式： 向一个已存在的 RayCluster 提交 Ray Job 新建 RayCluster 运行 Ray Job（任务结束后集群自动清理）示例代码通过 Kubernetes ConfigMap 保存并挂载到 Ray Pod 中，无需重新构建镜像。前提条件 已创建 ACK 托管版集群 集群中已安装 KubeRay Operator 组件1. 将示例代码存入 ConfigMapRay Job 的入口命令是 python /home/ray/job/ray_job_sample.py。脚本通过 ray.init(address=\"auto\") 自动连接 Ray 集群，用 Ray 远程任务计算 [1, 2, 3, 4, 5] 的平方，再用 Ray Actor 求和。直接从本地文件创建..." },{ "title": "使用 Ray Data 读取 OSS 数据", "url": "/data-on-ack/ray/1-user-guide/3-ray-data-with-oss/", "parent": "Ray 用户指南", "excerpt": "使用 Ray Data 读取 OSS 数据本文介绍如何在 RayJob 中运行一个 Ray Data 流水线：从阿里云 OSS 读取数据、处理、并将结果写回 OSS。访问 OSS 中数据的两种方式： 通过 S3 兼容接口访问（pyarrow.fs.S3FileSystem） — 本文已实现 通过 OSS 存储卷挂载访问 — TODO（待补充）前提条件 已创建 ACK 托管版集群 集群中已安装 KubeRay Operator 组件 一个 OSS Bucket，以及对该 Bucket 有读写权限的 AccessKey（例如 AliyunOSSFullAccess 权限）方法一：通过 S3 兼容接口访问Ray Job 的入口命令是 python /home/ray/job/ray_data_oss_sample.py，使用 Iris 数据集实现一个读取 -&gt; 处理 -&gt; 写入..." },{ "title": "Ray 用户指南", "url": "/data-on-ack/ray/1-user-guide/", "parent": "Ray", "excerpt": "Ray 用户指南本部分收录在 ACK 上使用 Ray 的实践文档。" },{ "title": "VLA管线Demo", "url": "/data-on-ack/ray/3-e2e-examples/vla-pipeline-on-ack/", "parent": "Ray 端到端示例", "excerpt": "VLA管线Demo简介机器人在物理环境中实现自主操作，不仅依赖环境感知能力，还需要形成涵盖任务目标理解、环境状态预测与动作执行的完整闭环。相较于数字空间，真实环境具有更强的不确定性。遮挡、光照变化、物体形变以及相机运动等因素，均可能导致相同操作呈现不同的观测结果与状态变化。视觉—语言—动作模型（Vision-Language-Action，VLA）旨在解决此类问题，其训练通常需要以动作片段为单位组织的视频数据，并结合三维手部状态、相机运动轨迹及自然语言指令等信号。训练数据获取是制约 VLA 模型规模化发展的关键瓶颈。真实机器人数据采集能够提供较高精度的状态与动作信息，但其规模受到硬件成本、实验场地、安全要求及人工标注开销的显著限制。互联网视频具有较大的数据规模和丰富的场景覆盖范围，但通常缺乏精确的三维状态、相机运动信息及结构化动作表征。第一视角人类视频（Egocentric Huma..." },{ "title": "Ray 端到端示例", "url": "/data-on-ack/ray/3-e2e-examples/", "parent": "Ray", "excerpt": "Ray 端到端示例本部分收录在 ACK 上使用 Ray 的实践文档。" },{ "title": "首页", "url": "/data-on-ack/", "parent": "", "excerpt": "" },{ "title": "运维指南", "url": "/data-on-ack/ops-guide.html", "parent": "云原生AI套件", "excerpt": "运维指南本文介绍 data-on-ack AI 平台的日常运维操作，包括升级、扩缩容、故障排查和备份恢复。组件清单      组件   Deployment 名称   端口   健康检查         运维控制台   ack-ai-dashboard-admin-ui   8080   /health       开发控制台   ack-ai-dev-console   9090   /health       Grafana   ack-ai-dashboard-grafana   3000   /api/health       Notebook Controller   notebook-controller-deployment   8443   /healthz       Commit Agent   ack-commit-agent (DaemonSet)   909..." },{ "title": "Ray", "url": "/data-on-ack/ray.html", "parent": "", "excerpt": "Ray本部分收录在 ACK 上使用 Ray 的实践文档，覆盖 RayCluster 的部署使用、性能调优、网络加速等高级实践，以及端到端的落地示例。 Ray 用户指南 — 部署 RayCluster、提交 Ray Job、使用 Ray Data / Ray Serve Ray 高级实践 — 性能调优、容错、GPU 共享、RDMA 加速等 Ray 端到端示例 — 完整的端到端落地示例（英文版，翻译中）" },{ "title": "功能使用指南", "url": "/data-on-ack/user-guide.html", "parent": "云原生AI套件", "excerpt": "功能使用指南本文介绍 data-on-ack AI 平台的核心功能和使用方法。运维控制台（ai-dashboard）运维控制台面向集群管理员，提供用户管理、资源配额、集群监控等运维能力。用户管理 登录运维控制台，进入 用户管理 页面 点击 创建用户，填写 RAM 子账号的 UID 或 UPN 为用户分配 用户组（决定可使用的 namespace 和资源配额） 用户使用 RAM 子账号登录开发控制台即可看到分配的资源用户组与配额管理 进入 用户组 页面 创建用户组，关联 ElasticQuotaTree 叶子节点 叶子节点的 namespace 即为该组用户可使用的命名空间 配额由 ACK 的弹性配额调度器自动执行节点管理管理员可在节点管理页面查看集群节点状态、GPU 资源分布：工作负载查看集群中运行的所有 AI 工作负载（训练任务、Notebook、推理服务）：Node Shell管..." }]
