Skip to content

Latest commit

 

History

History
150 lines (99 loc) · 8.85 KB

README-zh_CN.md

File metadata and controls

150 lines (99 loc) · 8.85 KB

License CircleCI Build Status codecov Go Report Card Artifact HUB OpenSSF Scorecard CII Best Practices Leaderboard

Fluid

English | 简体中文

更新 最新进展:
May. 26th, 2023. Fluid v0.9.0 发布! 添加thinRuntime以简化与第三方存储系统的集成,跨命名空间访问数据,支持子数据集,新的数据操作,如数据迁移,分布式文件系统的本地加速系统EFCRuntime等等。详情参见 CHANGELOG
Sep. 03th, 2022. Fluid v0.8.0 发布! 提供一系列新功能,包括基于Fluid边车支持的Serverlesss作业生命周期管理,按需启动Runtime controller,自动化CRD更新, 严格的pod与数据集节点的调度机制, JuicefsRuntime的Arm64支持, Alluxio Runtime的GCS支持等等,详情参见 CHANGELOG
Mar. 16th, 2021. Fluid v0.5.0 发布! 提供一系列新功能,包括提供数据集缓存的在线弹性扩缩容,元数据备份与恢复,Fuse全局模式部署等,详情参见 CHANGELOG
Nov. 6th, 2020. Fluid v0.4.0 发布! 提供一系列新功能和修复上一版本的遗留问题,包括提供主动的数据预热,详情参见 CHANGELOG
Oct. 1st, 2020. Fluid v0.3.0 发布! 提供一系列新功能和修复上一版本的遗留问题,包括对于K8s通用的数据卷加速和主机目录加速,详情参见 CHANGELOG

什么是Fluid

Fluid是一个开源的Kubernetes原生的分布式数据集编排和加速引擎,主要服务于云原生场景下的数据密集型应用,例如大数据应用、AI应用等。

Fluid现在是Cloud Native Computing Foundation (CNCF) 开源基金会旗下的一个沙箱项目。关于Fluid更多的原理性介绍, 可以参见我们的论文:

  1. Rong Gu, Kai Zhang, Zhihao Xu, et al. Fluid: Dataset Abstraction and Elastic Acceleration for Cloud-native Deep Learning Training Jobs. IEEE ICDE, pp. 2183-2196, May, 2022. (Conference Version)

  2. Rong Gu, Zhihao Xu, Yang Che, et al. High-level Data Abstraction and Elastic Data Caching for Data-intensive AI Applications on Cloud-native Platforms. IEEE TPDS, pp. 2946-2964, Vol 34(11), 2023. (Journal Version)

通过定义数据集资源的抽象,实现如下功能:

核心功能

  • 数据集抽象原生支持

    将数据密集型应用所需基础支撑能力功能化,实现数据高效访问并降低多维管理成本

  • 可扩展的数据引擎插件

    提供统一的访问接口,方便接入第三方存储,通过不同的Runtime实现数据操作

  • 自动化的数据操作

    提供多种操作模式,与自动化运维体系相结合

  • 数据弹性与调度

    将数据缓存技术和弹性扩缩容、数据亲和性调度能力相结合,提高数据访问性能

  • 运行时平台无关

    支持原生、边缘、Serverless Kubernetes集群、Kubernetes多集群等多样化环境,适用于混合云场景

重要概念

Dataset: 数据集是逻辑上相关的一组数据的集合,会被运算引擎使用,比如大数据的Spark,AI场景的TensorFlow。而这些数据智能的应用会创造工业界的核心价值。Dataset的管理实际上也有多个维度,比如安全性,版本管理和数据加速。我们希望从数据加速出发,对于数据集的管理提供支持。

Runtime: 实现数据集安全性,版本管理和数据加速等能力的执行引擎,定义了一系列生命周期的接口。可以通过实现这些接口,支持数据集的管理和加速。

先决条件

  • Kubernetes version > 1.16, 支持CSI
  • Golang 1.18+
  • Helm 3

快速开始

你可以通过 快速开始 在Kubernetes集群中测试Fluid.

文档

如果需要详细了解Fluid的使用,请参考文档 docs

你也可以访问Fluid主页来获取有关文档.

快速演示

演示 1: 加速文件访问

演示 2: 加速机器学习

演示 3: 加速PVC

演示 4: 数据预热

演示 5: 在线不停机数据集缓存扩缩容

如何贡献

欢迎您的贡献,如何贡献请参考CONTRIBUTING.md.

欢迎加入与反馈

Fluid让Kubernetes真正具有分布式数据缓存的基础能力,开源只是一个起点,需要大家的共同参与。大家在使用过程发现Bug或需要的Feature,都可以直接在 GitHub上面提 issue 或 PR,一起参与讨论。另外我们有一个钉钉群,欢迎您的参与和讨论。

钉钉讨论群

Slack 讨论群

  • 加入 CNCF Slack 通过搜索频道 #fluid 和我们进行讨论.

开源协议

Fluid采用Apache 2.0 license开源协议,详情参见LICENSE文件。

漏洞报告

安全性是Fluid项目高度关注的事务。如果您发现或遇到安全相关的问题,欢迎您给[email protected]邮箱发送邮件报告。

行为准则

Fluid 遵守 CNCF 行为准则