Skip to content

Commit cbd7baf

Browse files
authored
Merge pull request #31 from zhang-x-z/add-fluid-docs
Add fluid documents and metabit trading case study
2 parents 3eb3015 + 0c05c6a commit cbd7baf

30 files changed

+3142
-12
lines changed

docs/case-study/metabit-trading-case-study.md

+240
Large diffs are not rendered by default.

docs/core-concepts/key-features.md

+20
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,23 @@ sidebar_position: 2
44
---
55

66
# Key Features
7+
8+
- **Dataset Abstraction**
9+
10+
Implements the unified abstraction for datasets from multiple storage sources, with observability features to help users evaluate the need for scaling the cache system.
11+
12+
- **Scalable Cache Runtime**
13+
14+
Offers a unified access interface for data operations with different runtimes, enabling access to third-party storage systems.
15+
16+
- **Automated Data Operations**
17+
18+
Provides various automated data operation modes to facilitate integration with automated operations systems.
19+
20+
- **Elasticity and Scheduling**
21+
22+
Enhances data access performance by combining data caching technology with elastic scaling, portability, observability, and data affinity-scheduling capabilities.
23+
24+
- **Runtime Platform Agnostic**
25+
26+
Supports a variety of environments and can run different storage clients based on the environment, including native, edge, Serverless Kubernetes clusters, and Kubernetes multi-cluster environments.

docs/demos/demo-accelerate-PVC-with-fluid.md

+5
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@
22
sidebar_label: Demo-Accelerate PVC with Fluid
33
sidebar_position: 3
44
---
5+
import ReactPlayer from 'react-player'
56

67
# Demo-Accelerate PVC with Fluid
8+
9+
<div align="center">
10+
<ReactPlayer controls height="432px" width="768px" url="http://cloud.video.taobao.com/play/u/2987821887/p/1/e/6/t/1/281779782703.mp4" />
11+
</div>

docs/demos/demo-accelerate-remote-file-accessing-with-fluid.md

+5
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@
22
sidebar_label: Demo-Accelerate Remote File Accessing with Fluid
33
sidebar_position: 1
44
---
5+
import ReactPlayer from 'react-player'
56

67
# Demo-Accelerate Remote File Accessing with Fluid
8+
9+
<div align="center">
10+
<ReactPlayer controls height="432px" width="768px" url="http://cloud.video.taobao.com/play/u/2987821887/p/1/e/6/t/1/277753111709.mp4" />
11+
</div>
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
---
2-
sidebar_label: Demo-Preload Dataset with Fluid
3-
sidebar_position: 4
2+
sidebar_label: Demo-Machine Learning with Fluid
3+
sidebar_position: 2
44
---
5+
import ReactPlayer from 'react-player'
56

6-
# Demo-Preload Dataset with Fluid
7+
# Demo-Machine Learning with Fluid
8+
9+
<div align="center">
10+
<ReactPlayer controls height="432px" width="768px" url="http://cloud.video.taobao.com/play/u/2987821887/p/1/e/6/t/1/277528130570.mp4" />
11+
</div>

docs/demos/demo-on-the-fly-dataset-cache-scaling.md

+5
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@
22
sidebar_label: Demo-On-the-fly Dataset Cache Scaling
33
sidebar_position: 5
44
---
5+
import ReactPlayer from 'react-player'
56

67
# Demo-On-the-fly Dataset Cache Scaling
8+
9+
<div align="center">
10+
<ReactPlayer controls height="432px" width="768px" url="http://cloud.video.taobao.com/play/u/2987821887/p/1/e/6/t/1/302459823704.mp4" />
11+
</div>
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
---
2-
sidebar_label: Demo-Machine Learning with Fluid
3-
sidebar_position: 2
2+
sidebar_label: Demo-Preload Dataset with Fluid
3+
sidebar_position: 4
44
---
5+
import ReactPlayer from 'react-player'
56

6-
# Demo-Machine Learning with Fluid
7+
# Demo-Preload Dataset with Fluid
8+
9+
<div align="center">
10+
<ReactPlayer controls height="432px" width="768px" url="http://cloud.video.taobao.com/play/u/2987821887/p/1/e/6/t/1/287213603893.mp4" />
11+
</div>

docs/get-started/installation.md

+197
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,200 @@ sidebar_position: 2
44
---
55

66
# Installation
7+
8+
## Prerequisites
9+
10+
- Git
11+
- Kubernetes cluster(version >= 1.18), and support CSI
12+
- kubectl(version >= 1.18)
13+
- [Helm](https://helm.sh/)(version >= 3.5)
14+
15+
The following documents assume that you have installed all the above requirements.
16+
17+
For the installation and configuration of kubectl, please refer to [here](https://kubernetes.io/docs/tasks/tools/install-kubectl/).
18+
19+
For the installation and configuration of Helm 3, please refer to [here](https://v3.helm.sh/docs/intro/install/).
20+
21+
## How to Deploy
22+
23+
### Download Fluid Chart
24+
25+
You can download the latest Fluid installation package from [Fluid Releases](https://github.com/fluid-cloudnative/fluid/releases).
26+
27+
### Install Fluid with Helm
28+
29+
Create namespace:
30+
31+
```shell
32+
$ kubectl create ns fluid-system
33+
```
34+
35+
Add Fluid repository to Helm repos and keep it up-to-date
36+
37+
```shell
38+
$ helm repo add fluid https://fluid-cloudnative.github.io/charts
39+
$ helm repo update
40+
```
41+
42+
43+
Install Fluid with:
44+
45+
```shell
46+
$ helm install fluid fluid/fluid
47+
NAME: fluid
48+
LAST DEPLOYED: Wed May 24 18:17:16 2023
49+
NAMESPACE: default
50+
STATUS: deployed
51+
REVISION: 1
52+
TEST SUITE: None
53+
```
54+
55+
> For Kubernetes version lower than v1.17(included), please use `helm install --set runtime.criticalFusePod=false fluid fluid.tgz`
56+
57+
> The general format of the `helm install` command is like: `helm install <RELEASE_NAME> <SOURCE>`. In the above command, the first `fluid` means the release name, and the second `fluid` specified the path to the helm chart, i.e. the directory just unpacked.
58+
59+
60+
### Upgrade Fluid to the latest version with Helm
61+
62+
If you have installed an older version of Fluid before, you can use Helm to upgrade it.
63+
Before upgrading, it is recommended to ensure that all components in the AlluxioRuntime resource object have been started completely, which is similar to the following state:
64+
65+
```shell
66+
$ kubectl get pod
67+
NAME READY STATUS RESTARTS AGE
68+
hbase-fuse-chscz 1/1 Running 0 9h
69+
hbase-fuse-fmhr5 1/1 Running 0 9h
70+
hbase-master-0 2/2 Running 0 9h
71+
hbase-worker-bdbjg 2/2 Running 0 9h
72+
hbase-worker-rznd5 2/2 Running 0 9h
73+
```
74+
75+
upgrade fluid:
76+
```shell
77+
$ helm upgrade fluid fluid/fluid
78+
Release "fluid" has been upgraded. Happy Helming!
79+
NAME: fluid
80+
LAST DEPLOYED: Fri Sep 2 18:54:18 2022
81+
NAMESPACE: default
82+
STATUS: deployed
83+
REVISION: 2
84+
TEST SUITE: None
85+
```
86+
87+
> For Kubernetes version lower than v1.17(included), please use `helm install --set runtime.criticalFusePod=false fluid fluid.tgz`
88+
89+
> We recommend you to update Fluid latest version from v0.7. If you have an older version, our suggestion is to reinstall it to ensure everything works fine.
90+
91+
### Check Status of Component
92+
93+
**Check CRD used by Fluid:**
94+
95+
```shell
96+
$ kubectl get crd | grep data.fluid.io
97+
alluxioruntimes.data.fluid.io 2023-05-24T10:14:47Z
98+
databackups.data.fluid.io 2023-05-24T10:14:47Z
99+
dataloads.data.fluid.io 2023-05-24T10:14:47Z
100+
datamigrates.data.fluid.io 2023-05-24T10:28:11Z
101+
datasets.data.fluid.io 2023-05-24T10:14:47Z
102+
efcruntimes.data.fluid.io 2023-05-24T10:28:12Z
103+
goosefsruntimes.data.fluid.io 2023-05-24T10:14:47Z
104+
jindoruntimes.data.fluid.io 2023-05-24T10:14:48Z
105+
juicefsruntimes.data.fluid.io 2023-05-24T10:14:48Z
106+
thinruntimeprofiles.data.fluid.io 2023-05-24T10:28:16Z
107+
thinruntimes.data.fluid.io 2023-05-24T10:28:16Z
108+
```
109+
110+
**Check the status of pods:**
111+
112+
```shell
113+
$ kubectl get pod -n fluid-system
114+
NAME READY STATUS RESTARTS AGE
115+
csi-nodeplugin-fluid-2scs9 2/2 Running 0 50s
116+
csi-nodeplugin-fluid-7vflb 2/2 Running 0 20s
117+
csi-nodeplugin-fluid-f9xfv 2/2 Running 0 33s
118+
dataset-controller-686d9d9cd6-gk6m6 1/1 Running 0 50s
119+
fluid-crds-upgrade-1.0.0-37e17c6-fp4mm 0/1 Completed 0 74s
120+
fluid-webhook-5bc9dfb9d8-hdvhk 1/1 Running 0 50s
121+
fluidapp-controller-6d4cbdcd88-z7l4c 1/1 Running 0 50s
122+
```
123+
124+
If the Pod status is as shown above, then Fluid is installed on your Kubernetes cluster successfully!
125+
126+
### Check version info of Component
127+
128+
When csi-nodeplugin, alluxioruntime-controller and dataset-controller start,they will print their own version info into logs.
129+
If you installed with the charts provided by us,their version info will be fully consistent.
130+
If you installed manually, their version info may be not consistent. You can check it with the following command:
131+
132+
```bash
133+
$ kubectl exec csi-nodeplugin-fluid-pq2zd -n fluid-system -c plugins fluid-csi version
134+
$ kubectl exec alluxioruntime-controller-66bf8cbdf4-k6cxt -n fluid-system -- alluxioruntime-controller version
135+
$ kubectl exec dataset-controller-558c5c7785-mtgfh -n fluid-system -- dataset-controller version
136+
```
137+
138+
The output should be like:
139+
```
140+
BuildDate: 2024-03-02_07:35:18
141+
GitCommit: 50ee8887239f07592ba74af3e14379efc1487c0c
142+
GitTreeState: clean
143+
GoVersion: go1.18.10
144+
Compiler: gc
145+
Platform: linux/amd64
146+
```
147+
148+
### Fluid use cases
149+
For more use cases about Fluid, please refer to our tutorials:
150+
- [Speed Up Accessing Remote Files](/docs/tutorials/dataset-creation/accelerate-data-accessing-posix)
151+
- [Cache Co-locality for Workload Scheduling](/docs/tutorials/dataset-creation/cache-co-locality)
152+
- [Accelerate Machine Learning Training with Fluid](/docs/tutorials/Advanced/machine-learning-workload)
153+
154+
### Uninstall Fluid
155+
156+
To uninstall fluid safely, we should check weather Custom Resource Objects about fluid have been deleted completely first:
157+
```shell
158+
kubectl get crds -o custom-columns=NAME:.metadata.name | grep data.fluid.io | sed ':t;N;s/\n/,/;b t' | xargs kubectl get --all-namespaces
159+
```
160+
If you confirm that all Custom resource objects about fluid have been deleted, you can safely uninstall fluid:
161+
162+
```shell
163+
$ helm delete fluid
164+
$ kubectl delete -f fluid/crds
165+
$ kubectl delete ns fluid-system
166+
```
167+
168+
> The `fluid` in command `helm delete` means the `<RELEASE_NAME>` during installation.
169+
170+
171+
### Advanced Configuration
172+
173+
1. In some cloud vendors, the default mount root directory `/runtime-mnt` is not writable, so you have to modify the directory location
174+
175+
```
176+
helm install fluid --set runtime.mountRoot=/var/lib/docker/runtime-mnt fluid
177+
```
178+
179+
2. The feature `Fuse Recovery` is not enable by default, to enable this:
180+
181+
```
182+
helm install fluid --set csi.featureGates='FuseRecovery=true' fluid
183+
```
184+
185+
3. If your Kubernetes cluster has a custom configured kubelet root directory, please configure the KUBELET_ROOTDIR when installing Fluid with the following command:
186+
```shell
187+
helm install --set csi.kubelet.rootDir=<kubelet-root-dir> \
188+
--set csi.kubelet.certDir=<kubelet-root-dir>/pki fluid fluid.tgz
189+
```
190+
191+
> You can execute the following command on the Kubernetes node to view the --root-dir parameter configuration:
192+
> ```
193+
> ps -ef | grep $(which kubelet) | grep root-dir
194+
> ```
195+
> If the above command has no output, the kubelet root path is the default value (/var/lib/kubelet), which is the default value set by Fluid.
196+
197+
4. When you install a Kubernetes cluster using [Sealer](http://sealer.cool), it by default uses `apiserver.cluster.local` as the address of the API Server. At the same time, it writes this address to the `kubelet.conf` file and the corresponding IP address to the `hosts` file. This will cause the Fluid CSI Plugin fail to find the IP address of the API Server. You can set the Fluid CSI Plugin to use hostNetwork via the following command:
198+
```shell
199+
# install
200+
helm install fluid --set csi.config.hostNetwork=true fluid/fluid
201+
# upgrade
202+
helm upgrade fluid --set csi.config.hostNetwork=true fluid/fluid
203+
```

0 commit comments

Comments
 (0)