Skip to content

Latest commit

 

History

History
143 lines (94 loc) · 8.21 KB

README-zh_CN.md

File metadata and controls

143 lines (94 loc) · 8.21 KB

License CircleCI Build Status codecov Go Report Card Artifact HUB FOSSA Status CII Best Practices

Fluid

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

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主页来获取有关文档.

快速演示

演示 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 遵守 CNCF 行为准则.