English | 简体中文
最新进展: |
---|
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是一个开源的Kubernetes原生的分布式数据集编排和加速引擎,主要服务于云原生场景下的数据密集型应用,例如大数据应用、AI应用等。
Fluid现在是Cloud Native Computing Foundation (CNCF) 开源基金会旗下的一个沙箱项目。关于Fluid更多的原理性介绍, 可以参见我们的论文: Rong Gu, et al. Fluid: Dataset Abstraction and Elastic Acceleration for Cloud-native Deep Learning Training Jobs. IEEE ICDE. pp. 2183-2196, May. 2022.
通过定义数据集资源的抽象,实现如下功能:
-
数据集抽象原生支持
将数据密集型应用所需基础支撑能力功能化,实现数据高效访问并降低多维管理成本
-
云上数据预热与加速
Fluid通过使用分布式缓存引擎(Alluxio inside)为云上应用提供数据预热与加速,同时可以保障缓存数据的可观测性,可迁移性和自动化的水平扩展
-
数据应用协同编排
在云上调度应用和数据时候,同时考虑两者特性与位置,实现协同编排,提升性能
-
多命名空间管理支持
用户可以创建和管理不同namespace的数据集
-
异构数据源管理
一次性统一访问不同来源的底层数据(对象存储,HDFS和Ceph等存储),适用于混合云场景
Dataset: 数据集是逻辑上相关的一组数据的集合,会被运算引擎使用,比如大数据的Spark,AI场景的TensorFlow。而这些数据智能的应用会创造工业界的核心价值。Dataset的管理实际上也有多个维度,比如安全性,版本管理和数据加速。我们希望从数据加速出发,对于数据集的管理提供支持。
Runtime: 实现数据集安全性,版本管理和数据加速等能力的执行引擎,定义了一系列生命周期的接口。可以通过实现这些接口,支持数据集的管理和加速。
AlluxioRuntime: 来源于Alluixo社区,是支撑Dataset数据管理和缓存的执行引擎实现。Fluid通过管理和调度Alluxio Runtime实现数据集的可见性,弹性伸缩, 数据迁移。
- Kubernetes version > 1.16, 支持CSI
- Golang 1.12+
- Helm 3
你可以通过 快速开始 在Kubernetes集群中测试Fluid.
如果需要详细了解Fluid的使用,请参考文档 docs:
你也可以访问Fluid主页来获取有关文档.
欢迎您的贡献,如何贡献请参考CONTRIBUTING.md.
Fluid让Kubernetes真正具有分布式数据缓存的基础能力,开源只是一个起点,需要大家的共同参与。大家在使用过程发现Bug或需要的Feature,都可以直接在 GitHub上面提 issue 或 PR,一起参与讨论。另外我们有一个钉钉群,欢迎您的参与和讨论。
钉钉讨论群
Slack 讨论群
- 加入
CNCF Slack
通过搜索频道#fluid
和我们进行讨论.
Fluid采用Apache 2.0 license开源协议,详情参见LICENSE文件。
Fluid 遵守 CNCF 行为准则.