【阅读原文】戳:KubeCon China 2025 速递:Fluid - 数据无所不在,计算无处不及
引言:AI工作负载中访问数据的挑战
Kubernetes 提供了传统数据访问接入层面的接口(CSI,Container Storage Interface),但并未定义应用如何在容器集群中高效使用和灵活管理数据。然而,众多数据密集型应用(特别是 AI 工作负载)亟需更高层的数据访问与管理能力,例如:
- Serverless 算力数据接入的封闭性限制:Serverless 算力因其弹性与成本效益(尤其节省 GPU 开销)成为 AI 部署的热门选项。然而,其数据接入模式往往相对封闭,平台通常绑定特定存储服务(如厂商对象存储),第三方或自建存储系统难以通过标准接口(如 CSI)原生接入。
- 混合云异构数据源访问的标准化缺失:AI 工作负载需在混合云环境中高性能访问异构数据源(如 HDFS/S3/Lusture 等),但社区尚未定义面向云原生的分布式缓存层抽象规范,导致缺乏统一的数据接入接口、生命周期管理及跨平台运维能力。
- 动态数据源切换的障碍:数据科学家在开发调试过程中常需动态切换所挂载的数据集,而持久卷(PV)的“不可修改”特性迫使 Pod 重建才能生效,严重阻碍了开发迭代效率。
以上这些都是云原生容器社区缺失的重要能力。
为了解决这些挑战,阿里云容器服务团队、南京大学和 Alluxio 社区共同提出了“云原生弹性数据抽象”概念,并将其作为“一等公民”在 Kubernetes 中实现,以此为基础创建了云原生数据编排与加速系统 Fluid,该项目于 2021 年 5 月被 CNCF 接纳为 Sandbox 项目,旨在加速数据密集型应用全面拥抱云原生。
Fluid是什么?
Fluid 围绕弹性数据集(Dataset),构建了 Kubernetes 环境中容器数据分布式缓存层,实现数据集的管理(CRUD 操作)、权限控制和访问加速等功能。
Fluid 的关键概念:Dataset、Runtime & DataOperation
- Dataset(数据集):作为可修改的数据抽象层,在 dataset 中用户可以定义一组异构的数据源;
- Runtime(运行时):插件化的分布式缓存系统;
- DataOperation(数据操作):实现数据的主动预热、迁移和处理。
Fluid 的愿景:实现 Data Anyway(简单接入),Data Anywhere(到处运行),Data Anytime(按需使用)。
- Data Anyway (简单接入): 关注数据易接入性与计算资源多样性。
- 终端用户: 提供统一的数据接入方式,屏蔽底层算力差异:
a. Serverful(传统)算力:通过 CSI Mode,利用标准 PVC/PV 流程挂载
b. Serverless 算力:提供 Sidecar Mode,实现“过程无感”的轻量级接入
- 存储供应商:简化接入流程。供应商无需深入理解 Kubernetes CSI 或精通 Golang,即可通过插件化方式灵活集成存储客户端;同时无需单独维护 CSI 组件。
- Data Anywhere(到处运行):提供混合云通用高速数据访问。
- 通过多种分布式缓存加速跨地域/云的数据访问,为混合云集群提供了通用的数据高速访问能力。
- 采用 CacheRuntime 插件架构,兼容多样化的缓存引擎(如 Alluxio, JuiceFS, Vineyard, JindoFS, EFC 等)。
- 支持广泛的存储类型包括阿里云上 CPFS,NAS,OSS,OSS-HDFS,开源的 Cubefs,Juicefs,GlusterFS 等,以及客户自建:360 的 PoleFS,小米的 starFS 等。
- Data Anytime(按需使用):关注数据使用的灵活性和动态性。
- 利用 Dataset 的可修改特性,允许在容器运行时动态修改数据源定义。
- Fluid 自动完成对应挂载点的更新(挂载/卸载),无需重建 Pod,满足数据科学家动态切换数据源的需求,提升开发效率。
Fluid 社区最新进展
轻量级的 Thinruntime:
Fluid 简化了 Thinruntime 的 API 定义与职责,让其专注于实现数据客户端在 Kuberenetes 环境中的插件化接入方式,并大幅度优化了其工作流程,以提高大规模集群中海量数据集的处理效率。
通用的 CacheRuntime:
在现有的模式下,存储供应商将数据引擎接入到 fluid 中需要了解 Fluid 完整的工作机制,定义独立的 CRD 并为其实现相应的 CRD Controller 代码开发,为了与社区越来越多的 Vendor 展开高效合作,Fluid 实现了一种通用的 CacheRuntime CRD,旨在提供一种非入侵的 runtime 接入机制,减少 Vendor 的学习、开发成本,无需过多涉猎 Fluid 与 Kubernetes CSI,仅需关注数据面的处理工作即可通过 Fluid 完成分布式缓存系统在 Kubernetes 中的快速接入。
另一方面,CacherRuntime 的出现让终端用户通过一套统一的 CRD API,来使用、管理多样化的分布式缓存系统实现。
Fluid 入选 CNCF 2024 技术雷达报告 (Adopt 类别):
在犹他州盐湖城举办的北美 Kubecon 大会上,云原生计算基金会(CNCF®)于 2024 年 11 月 14 日发布了 2024 年最新的 CNCF 技术景观雷达报告。该报告深入评估了生态系统中多集群应用管理以及批处理、AI 和 ML 计算技术的生产就绪状态。
CNCF 技术景观雷达通过调查 300 多名使用云原生技术的专业开发者以及 CNCF 最终用户社区的成员,收集了他们在多集群应用管理以及批处理、AI 和 ML 技术方面的实际使用经验。这些反馈代表了云原生最终用户最关心的实际问题。
报告根据各项技术的生产使用准备情况进行评估,并将它们分为四个类别:采用、试验、评估和保留。其中,“采用”类别包括成熟度最高、用户广泛认可的技术。特别值得注意的是,批处理、AI 和大数据领域的相关项目,如 Apache Airflow、CNCF 的 CubeFS、Kubeflow 和 Fluid,这些技术因其在基于 Kubernetes 的云原生 AI 体系中的应用而备受关注,成为业界技术选择的风向标。(复制下方链接到浏览器下载完整报告)
https://www.cncf.io/reports/cncf-technology-landscape-radar/
根据报告结果,Apache Airflow、CubeFS、Kubeflow 和 Fluid 在批处理、AI 和 ML 领域得到了广泛的认可,并已被大量部署在最终用户的生产环境中。特别值得一提的是,已开源 10 年的 Airflow,它已连续 3 年获得此项荣誉。与此形成对比的是,作为这四个项目中最年轻的成员,Fluid 的突出表现不仅获得了社区用户的广泛认可,也代表了对 Fluid 开源社区维护者和贡献者的极大赞赏。
而在关键的洞见中,Fluid 两次被提到,分别是:
- 对于批处理/AI /ML 计算技术,Apache Airflow、CubeFS、Kubeflow 和 Fluid 被置于技术雷达的“采用”位置,表明许多用户已选择它在生产环境中使用。
- 根据开发人员反馈,Fluid 在成熟度上排名很高,成为开发者们表示最有可能向他人推荐的技术之一。
欢迎加入 Fluid 社区
Fluid 社区目前已经有超过 500 位 Contributors 以及 40 余位已在生产环境落地应用的 adopters,非常欢迎更多的朋友加入到 Fluid 社区:
项目地址:https://github.com/fluid-cloudnative/fluid
Slack: #fluid channel (CNCF workspace)
钉钉交流群:
微信交流群:
我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。
获取关于我们的更多信息~