Getting Started
Based on the Fluid documentation for the
v1.0.xline. Commands assume a working Kubernetes cluster and Helm 3.
Prerequisites
- A Kubernetes cluster with at least one schedulable node.
kubectlconfigured against that cluster.- Helm 3 installed locally.
- A remote data source to mount (an object store bucket, HDFS, or a public dataset URL).
Install
Add the chart repository and install Fluid into its own namespace. This deploys the CRDs and the controllers, CSI driver, and webhook.
helm repo add fluid https://fluid-cloudnative.github.io/charts
helm repo update
helm install fluid fluid/fluid -n fluid-system --create-namespaceA first working setup
The core job is: declare a dataset, give it a runtime, and have an application Pod read it through a cache.
Create a
Datasetpointing at your under-file-system mount.yamlapiVersion: data.fluid.io/v1alpha1 kind: Dataset metadata: name: demo spec: mounts: - mountPoint: https://mirrors.bit.edu.cn/apache/spark/ name: sparkCreate a same-named
AlluxioRuntime. The matching name is what binds them.yamlapiVersion: data.fluid.io/v1alpha1 kind: AlluxioRuntime metadata: name: demo spec: replicas: 1 tieredstore: levels: - mediumtype: MEM path: /dev/shm quota: 2GiApply both and wait for the dataset to bind.
bashkubectl apply -f dataset.yaml -f runtime.yaml kubectl get dataset demo
When the runtime controller finishes setup, the dataset reaches the Bound phase and a PersistentVolumeClaim named demo appears. Mount that PVC in an application Pod to read the data through the cache.
Verify it works
kubectl get dataset demo -o jsonpath='{.status.phase}'
kubectl get pvc demo
kubectl get pods -n fluid-systemA healthy setup shows the dataset phase as Bound, a bound demo PVC, and the Fluid controllers, CSI driver, and webhook Pods running in fluid-system. Optionally create a DataLoad resource to prefetch data into the cache before your job runs.
Where to go next
See the Fluid documentation for tiered store tuning, the other runtimes (JuiceFS, JindoCache, ThinRuntime), data operations (DataLoad, DataMigrate, DataBackup), and production concerns such as HA and metrics. The repository's samples/ directory has runnable examples per engine.