Skip to content

Latest commit

 

History

History
2570 lines (1454 loc) · 134 KB

File metadata and controls

2570 lines (1454 loc) · 134 KB

API Reference

Packages

data.fluid.io/v1alpha1

Package v1alpha1 is the v1alpha1 version of the API.

Package v1alpha1 contains API Schema definitions for the data v1alpha1 API group

zz_unit_test_scheme.go with a "zz" prefix to ensure its init function is called after all the other init function in the pacakge

Resource Types

APIGatewayStatus

API Gateway

Appears in:

Field Description Default Validation
endpoint string Endpoint for accessing

AffinityPolicy

Underlying type: string

AffinityPolicy the strategy for the affinity between Data Operation Pods.

Appears in:

Field Description
``
Require
Prefer

AffinityStrategy

Appears in:

Field Description Default Validation
dependOn ObjectRef Specifies the dependent preceding operation in a workflow. If not set, use the operation referred to by RunAfter. Optional: {}
policy AffinityPolicy Policy one of: "", "Require", "Prefer" Optional: {}
prefers Prefer array
requires Require array

AlluxioCompTemplateSpec

AlluxioCompTemplateSpec is a description of the Alluxio commponents

Appears in:

Field Description Default Validation
replicas integer Replicas is the desired number of replicas of the given template.
If unspecified, defaults to 1.
replicas is the min replicas of dataset in the cluster
Minimum: 1
Optional: {}
jvmOptions string array Options for JVM
properties object (keys:string, values:string) Configurable properties for the Alluxio component.

Refer to Alluxio Configuration Properties for more info
Optional: {}
ports object (keys:string, values:integer) Ports used by Alluxio(e.g. rpc: 19998 for master) Optional: {}
resources ResourceRequirements Resources that will be requested by the Alluxio component.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
env object (keys:string, values:string) Environment variables that will be used by Alluxio component.
enabled boolean Enabled or Disabled for the components. For now, only API Gateway is enabled or disabled. Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the master to fit on a node Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the alluxio runtime component's filesystem. Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Alluxio's pods Optional: {}
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images

AlluxioFuseSpec

AlluxioFuseSpec is a description of the Alluxio Fuse

Appears in:

Field Description Default Validation
image string Image for Alluxio Fuse(e.g. alluxio/alluxio-fuse)
imageTag string Image Tag for Alluxio Fuse(e.g. 2.3.0-SNAPSHOT)
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images
jvmOptions string array Options for JVM
properties object (keys:string, values:string) Configurable properties for Alluxio System.

Refer to Alluxio Configuration Properties for more info
env object (keys:string, values:string) Environment variables that will be used by Alluxio Fuse
resources ResourceRequirements Resources that will be requested by Alluxio Fuse.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
args string array Arguments that will be passed to Alluxio Fuse
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the fuse client to fit on a node,
this option only effect when global is enabled
Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy decides when to clean Alluxio Fuse pods.
Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
OnDemand cleans fuse pod once the fuse pod on some node is not needed
OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
Defaults to OnRuntimeDeleted
Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the alluxio runtime component's filesystem. Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Alluxio's fuse pods Optional: {}

AlluxioRuntime

AlluxioRuntime is the Schema for the alluxioruntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string AlluxioRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec AlluxioRuntimeSpec

AlluxioRuntimeSpec

AlluxioRuntimeSpec defines the desired state of AlluxioRuntime

Appears in:

Field Description Default Validation
alluxioVersion VersionSpec The version information that instructs fluid to orchestrate a particular version of Alluxio.
master AlluxioCompTemplateSpec The component spec of Alluxio master
jobMaster AlluxioCompTemplateSpec The component spec of Alluxio job master
worker AlluxioCompTemplateSpec The component spec of Alluxio worker
jobWorker AlluxioCompTemplateSpec The component spec of Alluxio job Worker
apiGateway AlluxioCompTemplateSpec The component spec of Alluxio API Gateway
initUsers InitUsersSpec The spec of init users
fuse AlluxioFuseSpec The component spec of Alluxio Fuse
properties object (keys:string, values:string) Configurable properties for Alluxio system.

Refer to Alluxio Configuration Properties for more info
jvmOptions string array Options for JVM
tieredstore TieredStore Tiered storage used by Alluxio
data Data Management strategies for the dataset to which the runtime is bound
replicas integer The replicas of the worker, need to be specified
runAs User Manage the user to run Alluxio Runtime
disablePrometheus boolean Disable monitoring for Alluxio Runtime
Prometheus is enabled by default
Optional: {}
hadoopConfig string Name of the configMap used to support HDFS configurations when using HDFS as Alluxio's UFS. The configMap
must be in the same namespace with the AlluxioRuntime. The configMap should contain user-specific HDFS conf files in it.
For now, only "hdfs-site.xml" and "core-site.xml" are supported. It must take the filename of the conf file as the key and content
of the file as the value.
Optional: {}
volumes Volume array Volumes is the list of Kubernetes volumes that can be mounted by the alluxio runtime components and/or fuses. Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Alluxio's pods Optional: {}
management RuntimeManagement RuntimeManagement defines policies when managing the runtime Optional: {}
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images Optional: {}

CacheRuntime

CacheRuntime is the Schema for the CacheRuntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string CacheRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec CacheRuntimeSpec

CacheRuntimeClass

CacheRuntimeClass is the Schema for the cacheruntimeclasses API. CacheRuntimeClass defines a class of cache runtime implementations with specific configurations.

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string CacheRuntimeClass
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
fileSystemType string FileSystemType is the file system type of the cache runtime (e.g., "alluxio", "juicefs") Required: {}
topology RuntimeTopology Topology describes the topology of the CacheRuntime components (master, worker, client) Optional: {}
extraResources RuntimeExtraResources ExtraResources specifies additional resources (e.g., ConfigMaps) used by the CacheRuntime components Optional: {}

CacheRuntimeClientSpec

CacheRuntimeClientSpec describes the desired state of CacheRuntime client component

Appears in:

Field Description Default Validation
disabled boolean Disabled indicates whether the component should be disabled.
If set to true, the component will not be created.
Optional: {}
runtimeVersion VersionSpec RuntimeVersion is the version information that instructs Fluid to orchestrate a particular version of the runtime. Optional: {}
options object (keys:string, values:string) Options is a set of key-value pairs that provide additional configuration for the cache system. Optional: {}
podMetadata PodMetadata PodMetadata contains labels and annotations that will be propagated to the component's pods. Optional: {}
resources ResourceRequirements Resources describes the compute resource requirements.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Optional: {}
env EnvVar array Env is a list of environment variables to set in the container. Optional: {}
volumeMounts VolumeMount array VolumeMounts are the volumes to mount into the container's filesystem.
Cannot be updated.
Optional: {}
args string array Args are arguments to the entrypoint.
The container image's CMD is used if this is not provided.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the pod to fit on a node.
Selector which must match a node's labels for the pod to be scheduled on that node.
More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
Optional: {}
tolerations Toleration array Tolerations are the pod's tolerations.
If specified, the pod's tolerations.
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
Optional: {}
tieredStore RuntimeTieredStore TieredStore describes the tiered storage configuration used by the client component. Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy determines when to clean up the FUSE client pods.
Currently supports two policies:
- "OnDemand": Clean up the FUSE pod when it is no longer needed on a node
- "OnRuntimeDeleted": Clean up the FUSE pod only when the CacheRuntime is deleted
Defaults to "OnRuntimeDeleted".
OnRuntimeDeleted Enum: [OnRuntimeDeleted OnDemand]
Optional: {}

CacheRuntimeMasterSpec

CacheRuntimeMasterSpec describes the desired state of CacheRuntime master component

Appears in:

Field Description Default Validation
disabled boolean Disabled indicates whether the component should be disabled.
If set to true, the component will not be created.
Optional: {}
runtimeVersion VersionSpec RuntimeVersion is the version information that instructs Fluid to orchestrate a particular version of the runtime. Optional: {}
options object (keys:string, values:string) Options is a set of key-value pairs that provide additional configuration for the cache system. Optional: {}
podMetadata PodMetadata PodMetadata contains labels and annotations that will be propagated to the component's pods. Optional: {}
resources ResourceRequirements Resources describes the compute resource requirements.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Optional: {}
env EnvVar array Env is a list of environment variables to set in the container. Optional: {}
volumeMounts VolumeMount array VolumeMounts are the volumes to mount into the container's filesystem.
Cannot be updated.
Optional: {}
args string array Args are arguments to the entrypoint.
The container image's CMD is used if this is not provided.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the pod to fit on a node.
Selector which must match a node's labels for the pod to be scheduled on that node.
More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
Optional: {}
tolerations Toleration array Tolerations are the pod's tolerations.
If specified, the pod's tolerations.
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
Optional: {}
replicas integer Replicas is the desired number of replicas of the master component.
If unspecified, defaults to 1.
1 Minimum: 0
Optional: {}

CacheRuntimeSpec

CacheRuntimeSpec describes the desired state of CacheRuntime

Appears in:

Field Description Default Validation
runtimeClassName string RuntimeClassName is the name of the CacheRuntimeClass to use for this runtime.
The CacheRuntimeClass defines the implementation details of the cache runtime.
Required: {}
master CacheRuntimeMasterSpec Master is the desired state of the master component. Optional: {}
worker CacheRuntimeWorkerSpec Worker is the desired state of the worker component. Optional: {}
client CacheRuntimeClientSpec Client is the desired state of the client component. Optional: {}
options object (keys:string, values:string) Options is a set of key-value pairs that provide additional configuration for the cache system.
These options will be propagated to all components.
Optional: {}
podMetadata PodMetadata PodMetadata contains labels and annotations that will be propagated to all component pods. Optional: {}
imagePullSecrets LocalObjectReference array ImagePullSecrets is an optional list of references to secrets in the same namespace
to use for pulling any of the images used by this PodSpec.
More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
volumes Volume array Volumes is the list of volumes that can be mounted by containers belonging to the cache runtime components.
More info: https://kubernetes.io/docs/concepts/storage/volumes
Optional: {}

CacheRuntimeWorkerSpec

CacheRuntimeWorkerSpec describes the desired state of CacheRuntime worker component

Appears in:

Field Description Default Validation
disabled boolean Disabled indicates whether the component should be disabled.
If set to true, the component will not be created.
Optional: {}
runtimeVersion VersionSpec RuntimeVersion is the version information that instructs Fluid to orchestrate a particular version of the runtime. Optional: {}
options object (keys:string, values:string) Options is a set of key-value pairs that provide additional configuration for the cache system. Optional: {}
podMetadata PodMetadata PodMetadata contains labels and annotations that will be propagated to the component's pods. Optional: {}
resources ResourceRequirements Resources describes the compute resource requirements.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Optional: {}
env EnvVar array Env is a list of environment variables to set in the container. Optional: {}
volumeMounts VolumeMount array VolumeMounts are the volumes to mount into the container's filesystem.
Cannot be updated.
Optional: {}
args string array Args are arguments to the entrypoint.
The container image's CMD is used if this is not provided.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the pod to fit on a node.
Selector which must match a node's labels for the pod to be scheduled on that node.
More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
Optional: {}
tolerations Toleration array Tolerations are the pod's tolerations.
If specified, the pod's tolerations.
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
Optional: {}
replicas integer Replicas is the desired number of replicas of the worker component.
If unspecified, defaults to 1.
1 Minimum: 0
Optional: {}
tieredStore RuntimeTieredStore TieredStore describes the tiered storage configuration used by the worker component. Optional: {}

CacheableNodeAffinity

CacheableNodeAffinity defines constraints that limit what nodes this dataset can be cached to.

Appears in:

Field Description Default Validation
required NodeSelector Required specifies hard node constraints that must be met.

CleanCachePolicy

CleanCachePolicy defines policies when cleaning cache

Appears in:

Field Description Default Validation
gracePeriodSeconds integer Optional duration in seconds the cache needs to clean gracefully. May be decreased in delete runtime request.
Value must be non-negative integer. The value zero indicates clean immediately via the timeout
command (no opportunity to shut down).
If this value is nil, the default grace period will be used instead.
The grace period is the duration in seconds after the processes running in the pod are sent
a termination signal and the time when the processes are forcibly halted with timeout command.
Set this value longer than the expected cleanup time for your process.
60 Optional: {}
maxRetryAttempts integer Optional max retry Attempts when cleanCache function returns an error after execution, runtime attempts
to run it three more times by default. With Maximum Retry Attempts, you can customize the maximum number
of retries. This gives you the option to continue processing retries.
3 Optional: {}

ClientMetrics

Appears in:

Field Description Default Validation
enabled boolean Enabled decides whether to expose client metrics.
scrapeTarget string ScrapeTarget decides which fuse component will be scraped by Prometheus.
It is a list separated by comma where supported items are [MountPod, Sidecar, All (indicates MountPod and Sidecar), None].
Defaults to None when it is not explicitly set.

ComponentServiceConfig

ComponentServiceConfig defines the service configuration for runtime components. Currently only headless service is supported, but this can be extended in the future to support other service types such as ClusterIP, NodePort, LoadBalancer, etc.

Appears in:

Field Description Default Validation
headless HeadlessRuntimeComponentService Headless enables a headless service for the component.
A headless service does not allocate a cluster IP and allows direct pod-to-pod communication.
Optional: {}

Condition

Condition explains the transitions on phase

Appears in:

Field Description Default Validation
type ConditionType Type of condition, either Complete or Failed
reason string Reason for the condition's last transition
message string Message is a human-readable message indicating details about the transition
lastProbeTime Time LastProbeTime describes last time this condition was updated.
lastTransitionTime Time LastTransitionTime describes last time the condition transitioned from one status to another.

ConfigMapDependencyConfig

ConfigMapDependencyConfig defines the ConfigMap mount configuration

Appears in:

Field Description Default Validation
name string Name is the ConfigMap template name defined in extraResources.configMaps Optional: {}
mountPath string MountPath is the path within the container at which the ConfigMap should be mounted.
Must not contain ':'.
Optional: {}

ConfigMapRuntimeExtraResource

ConfigMapRuntimeExtraResource defines a ConfigMap template for CacheRuntime extra resources

Appears in:

Field Description Default Validation
name string Name is the name of the ConfigMap.
This will be used as the actual ConfigMap name when created in the runtime's namespace.
Optional: {}
data object (keys:string, values:string) Data contains the configuration data.
Each key must consist of alphanumeric characters, '-', '_' or '.'.
Values with non-UTF-8 byte sequences must use the BinaryData field.
The keys stored in Data must not overlap with the keys in
the BinaryData field, this is enforced during validation process.
Optional: {}

Data

Data management strategies

Appears in:

Field Description Default Validation
replicas integer The copies of the dataset Optional: {}
pin boolean Pin the dataset or not. Refer to Alluxio User-CLI pin Optional: {}

DataBackup

DataBackup is the Schema for the backup API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string DataBackup
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DataBackupSpec

DataBackupSpec

DataBackupSpec defines the desired state of DataBackup

Appears in:

Field Description Default Validation
dataset string Dataset defines the target dataset of the DataBackup
backupPath string BackupPath defines the target path to save data of the DataBackup
runAs User Manage the user to run Alluxio DataBackup
runAfter OperationRef Specifies that the preceding operation in a workflow Optional: {}
ttlSecondsAfterFinished integer TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed Optional: {}

DataLoad

DataLoad is the Schema for the dataloads API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string DataLoad
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DataLoadSpec

DataLoadSpec

DataLoadSpec defines the desired state of DataLoad

Appears in:

Field Description Default Validation
dataset TargetDataset Dataset defines the target dataset of the DataLoad
loadMetadata boolean LoadMetadata specifies if the dataload job should load metadata
target TargetPath array Target defines target paths that needs to be loaded
options object (keys:string, values:string) Options specifies the extra dataload properties for runtime
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to DataLoad pods
affinity Affinity Affinity defines affinity for DataLoad pod Optional: {}
tolerations Toleration array Tolerations defines tolerations for DataLoad pod Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector defiens node selector for DataLoad pod Optional: {}
schedulerName string SchedulerName sets the scheduler to be used for DataLoad pod Optional: {}
policy Policy including Once, Cron, OnEvent Once Enum: [Once Cron OnEvent]
Optional: {}
schedule string The schedule in Cron format, only set when policy is cron, see https://en.wikipedia.org/wiki/Cron. Optional: {}
runAfter OperationRef Specifies that the preceding operation in a workflow Optional: {}
ttlSecondsAfterFinished integer TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed Optional: {}
resources ResourceRequirements Resources that will be requested by the DataLoad job.
Optional: {}

DataMigrate

DataMigrate is the Schema for the datamigrates API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string DataMigrate
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DataMigrateSpec

DataMigrateSpec

DataMigrateSpec defines the desired state of DataMigrate

Appears in:

Field Description Default Validation
image string Image (e.g. alluxio/alluxio)
imageTag string Image tag (e.g. 2.3.0-SNAPSHOT)
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
from DataToMigrate data to migrate source, including dataset and external storage
to DataToMigrate data to migrate destination, including dataset and external storage
block boolean if dataMigrate blocked dataset usage, default is false Optional: {}
runtimeType string using which runtime to migrate data; if none, take dataset runtime as default Optional: {}
options object (keys:string, values:string) options for migrate, different for each runtime Optional: {}
policy Policy policy for migrate, including Once, Cron, OnEvent Once Enum: [Once Cron OnEvent]
Optional: {}
schedule string The schedule in Cron format, only set when policy is cron, see https://en.wikipedia.org/wiki/Cron. Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to DataMigrate pods
affinity Affinity Affinity defines affinity for DataMigrate pod Optional: {}
tolerations Toleration array Tolerations defines tolerations for DataMigrate pod Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector defiens node selector for DataMigrate pod Optional: {}
schedulerName string SchedulerName sets the scheduler to be used for DataMigrate pod Optional: {}
runAfter OperationRef Specifies that the preceding operation in a workflow Optional: {}
ttlSecondsAfterFinished integer TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed Optional: {}
resources ResourceRequirements Resources that will be requested by the DataMigrate job.
Optional: {}
parallelism integer Parallelism defines the parallelism tasks numbers for DataMigrate. If the value is greater than 1, the job acts
as a launcher, and users should define the WorkerSpec.
1 Minimum: 1
Optional: {}
parallelOptions object (keys:string, values:string) ParallelOptions defines options like ssh port and ssh secret name when parallelism is greater than 1. Optional: {}

DataProcess

DataProcess is the Schema for the dataprocesses API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string DataProcess
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DataProcessSpec

DataProcessSpec

DataProcessSpec defines the desired state of DataProcess

Appears in:

Field Description Default Validation
dataset TargetDatasetWithMountPath Dataset specifies the target dataset and its mount path. Required: {}
processor Processor Processor specify how to process data. Required: {}
runAfter OperationRef Specifies that the preceding operation in a workflow Optional: {}
ttlSecondsAfterFinished integer TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed Optional: {}

DataRestoreLocation

DataRestoreLocation describes the spec restore location of Dataset

Appears in:

Field Description Default Validation
path string Path describes the path of restore, in the form of local://subpath or pvc:///subpath Optional: {}
nodeName string NodeName describes the nodeName of restore if Path is in the form of local://subpath Optional: {}

DataToMigrate

Appears in:

Field Description Default Validation
dataset DatasetToMigrate dataset to migrate
externalStorage ExternalStorage external storage for data migrate

Dataset

Dataset is the Schema for the datasets API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string Dataset
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec DatasetSpec

DatasetCondition

Condition describes the state of the cache at a certain point.

Appears in:

Field Description Default Validation
type DatasetConditionType Type of cache condition.
reason string The reason for the condition's last transition.
message string A human readable message indicating details about the transition.
lastUpdateTime Time The last time this condition was updated.
lastTransitionTime Time Last time the condition transitioned from one status to another.

DatasetConditionType

Underlying type: string

DatasetConditionType defines all kinds of types of cacheStatus.
one of the three types: RuntimeScheduled, Ready and Initialized

Appears in:

Field Description
RuntimeScheduled RuntimeScheduled means the runtime CRD has been accepted by the system,
But master and workers are not ready
Ready DatasetReady means the cache system for the dataset is ready.
NotReady DatasetNotReady means the dataset is not bound due to some unexpected error
UpdateReady DatasetUpdateReady means the cache system for the dataset is updated.
Updating DatasetUpdating means the cache system for the dataset is updating.
Initialized DatasetInitialized means the cache system for the dataset is Initialized.

DatasetPhase

Underlying type: string

DatasetPhase indicates whether the loading is behaving

Appears in:

Field Description
Pending TODO: add the Pending phase to Dataset
Bound Bound to dataset, can't be released
Failed Failed, can't be deleted
NotBound Not bound to runtime, can be deleted
Updating updating dataset, can't be released
DataMigrating migrating dataset, can't be mounted
`` the dataset have no phase and need to be judged

DatasetSpec

DatasetSpec defines the desired state of Dataset

Appears in:

Field Description Default Validation
mounts Mount array Mount Points to be mounted on cache runtime.

This field can be empty because some runtimes don't need to mount external storage (e.g.
Vineyard).
MinItems: 1
UniqueItems: false
Optional: {}
owner User The owner of the dataset Optional: {}
nodeAffinity CacheableNodeAffinity NodeAffinity defines constraints that limit what nodes this dataset can be cached to.
This field influences the scheduling of pods that use the cached dataset.
Optional: {}
tolerations Toleration array If specified, the pod's tolerations. Optional: {}
accessModes PersistentVolumeAccessMode array AccessModes contains all ways the volume backing the PVC can be mounted Optional: {}
runtimes Runtime array Runtimes for supporting dataset (e.g. AlluxioRuntime)
placement PlacementMode Manage switch for opening Multiple datasets single node deployment or not Enum: [Exclusive Shared]
Optional: {}
dataRestoreLocation DataRestoreLocation DataRestoreLocation is the location to load data of dataset been backuped Optional: {}
sharedOptions object (keys:string, values:string) SharedOptions is the options to all mount Optional: {}
sharedEncryptOptions EncryptOption array SharedEncryptOptions is the encryptOption to all mount Optional: {}

DatasetToMigrate

Appears in:

Field Description Default Validation
name string name of dataset
namespace string namespace of dataset
path string path to migrate

EFCCompTemplateSpec

EFCCompTemplateSpec is a description of the EFC components

Appears in:

Field Description Default Validation
replicas integer Replicas is the desired number of replicas of the given template.
If unspecified, defaults to 1.
replicas is the min replicas of dataset in the cluster
Minimum: 1
Optional: {}
version VersionSpec The version information that instructs fluid to orchestrate a particular version of EFC Comp
properties object (keys:string, values:string) Configurable properties for the EFC component. Optional: {}
ports object (keys:string, values:integer) Ports used by EFC(e.g. rpc: 19998 for master). Optional: {}
resources ResourceRequirements Resources that will be requested by the EFC component.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
disabled boolean Enabled or Disabled for the components.
Default enable.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the component to fit on a node. Optional: {}
networkMode NetworkMode Whether to use host network or not. Enum: [HostNetwork ContainerNetwork]
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to EFC's master and worker pods Optional: {}

EFCFuseSpec

EFCFuseSpec is a description of the EFC Fuse

Appears in:

Field Description Default Validation
version VersionSpec The version information that instructs fluid to orchestrate a particular version of EFC Fuse
properties object (keys:string, values:string) Configurable properties for EFC fuse Optional: {}
resources ResourceRequirements Resources that will be requested by EFC Fuse.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the fuse client to fit on a node,
this option only effect when global is enabled
Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy decides when to clean EFC Fuse pods.
Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
OnDemand cleans fuse pod once th fuse pod on some node is not needed
OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
Defaults to OnRuntimeDeleted
Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to EFC's fuse pods Optional: {}

EFCRuntime

EFCRuntime is the Schema for the efcruntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string EFCRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec EFCRuntimeSpec

EFCRuntimeSpec

EFCRuntimeSpec defines the desired state of EFCRuntime

Appears in:

Field Description Default Validation
master EFCCompTemplateSpec The component spec of EFC master
worker EFCCompTemplateSpec The component spec of EFC worker
initFuse InitFuseSpec The spec of init alifuse
fuse EFCFuseSpec The component spec of EFC Fuse
tieredstore TieredStore Tiered storage used by EFC worker
replicas integer The replicas of the worker, need to be specified
osAdvise OSAdvise Operating system optimization for EFC
cleanCachePolicy CleanCachePolicy CleanCachePolicy defines cleanCache Policy Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to all EFC's pods Optional: {}

EncryptOption

Appears in:

Field Description Default Validation
name string The name of encryptOption Required: {}
valueFrom EncryptOptionSource The valueFrom of encryptOption Optional: {}

EncryptOptionComponentDependency

EncryptOptionComponentDependency defines the configuration for encrypt option dependency

Appears in:

EncryptOptionSource

Appears in:

Field Description Default Validation
secretKeyRef SecretKeySelector The encryptInfo obtained from secret Optional: {}

ExternalEndpointSpec

ExternalEndpointSpec defines the configurations for external etcd cluster

Appears in:

Field Description Default Validation
uri string URI specifies the endpoint of external Etcd cluster
E,g. "etcd-svc.etcd-namespace.svc.cluster.local:2379"
Default is not set and use http protocol to connect to external etcd cluster
Optional: {}
encryptOptions EncryptOption array encrypt info for accessing the external etcd cluster Optional: {}
options object (keys:string, values:string) Configurable options for External Etcd cluster. Optional: {}

ExternalStorage

Appears in:

Field Description Default Validation
uri string type of external storage, including s3, oss, gcs, ceph, nfs, pvc, etc. (related to runtime)
encryptOptions EncryptOption array encrypt info for external storage Optional: {}

ExtraResourcesComponentDependency

ExtraResourcesComponentDependency defines the extra resources configuration for component dependencies

Appears in:

Field Description Default Validation
configMaps ConfigMapDependencyConfig array ConfigMaps is a list of ConfigMaps in the same namespace to mount into the component Optional: {}

FuseCleanPolicy

Underlying type: string

Appears in:

Field Description
`` NoneCleanPolicy is the default clean policy. It will be transformed to OnRuntimeDeletedCleanPolicy automatically.
OnDemand OnDemandCleanPolicy cleans fuse pod once the fuse pod on some node is not needed
OnRuntimeDeleted OnRuntimeDeletedCleanPolicy cleans fuse pod only when the cache runtime is deleted
OnFuseChanged OnFuseChangedCleanPolicy cleans fuse pod when the fuse in runtime is updated and the fuse pod on some node is not needed

GooseFSCompTemplateSpec

GooseFSCompTemplateSpec is a description of the GooseFS commponents

Appears in:

Field Description Default Validation
replicas integer Replicas is the desired number of replicas of the given template.
If unspecified, defaults to 1.
replicas is the min replicas of dataset in the cluster
Minimum: 1
Optional: {}
jvmOptions string array Options for JVM
properties object (keys:string, values:string) Configurable properties for the GOOSEFS component.

Refer to GOOSEFS Configuration Properties for more info
Optional: {}
ports object (keys:string, values:integer) Ports used by GooseFS(e.g. rpc: 19998 for master) Optional: {}
resources ResourceRequirements Resources that will be requested by the GooseFS component.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
env object (keys:string, values:string) Environment variables that will be used by GooseFS component.
enabled boolean Enabled or Disabled for the components. For now, only API Gateway is enabled or disabled. Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the master to fit on a node Optional: {}
annotations object (keys:string, values:string) Annotations is an unstructured key value map stored with a resource that may be
set by external tools to store and retrieve arbitrary metadata. They are not
queryable and should be preserved when modifying objects.
More info: http://kubernetes.io/docs/user-guide/annotations
Optional: {}

GooseFSFuseSpec

GooseFSFuseSpec is a description of the GooseFS Fuse

Appears in:

Field Description Default Validation
image string Image for GooseFS Fuse(e.g. goosefs/goosefs-fuse)
imageTag string Image Tag for GooseFS Fuse(e.g. v1.0.1)
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
jvmOptions string array Options for JVM
properties object (keys:string, values:string) Configurable properties for the GOOSEFS component.

Refer to GOOSEFS Configuration Properties for more info
env object (keys:string, values:string) Environment variables that will be used by GooseFS Fuse
resources ResourceRequirements Resources that will be requested by GooseFS Fuse.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
args string array Arguments that will be passed to GooseFS Fuse
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the fuse client to fit on a node,
this option only effect when global is enabled
Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy decides when to clean GooseFS Fuse pods.
Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
OnDemand cleans fuse pod once th fuse pod on some node is not needed
OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
Defaults to OnRuntimeDeleted
Optional: {}
annotations object (keys:string, values:string) Annotations is an unstructured key value map stored with a resource that may be
set by external tools to store and retrieve arbitrary metadata. They are not
queryable and should be preserved when modifying objects.
More info: http://kubernetes.io/docs/user-guide/annotations
Optional: {}

GooseFSRuntime

GooseFSRuntime is the Schema for the goosefsruntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string GooseFSRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec GooseFSRuntimeSpec

GooseFSRuntimeSpec

GooseFSRuntimeSpec defines the desired state of GooseFSRuntime

Appears in:

Field Description Default Validation
goosefsVersion VersionSpec The version information that instructs fluid to orchestrate a particular version of GooseFS.
master GooseFSCompTemplateSpec The component spec of GooseFS master
jobMaster GooseFSCompTemplateSpec The component spec of GooseFS job master
worker GooseFSCompTemplateSpec The component spec of GooseFS worker
jobWorker GooseFSCompTemplateSpec The component spec of GooseFS job Worker
apiGateway GooseFSCompTemplateSpec The component spec of GooseFS API Gateway
initUsers InitUsersSpec The spec of init users
fuse GooseFSFuseSpec The component spec of GooseFS Fuse
properties object (keys:string, values:string) Configurable properties for the GOOSEFS component.

Refer to GOOSEFS Configuration Properties for more info
jvmOptions string array Options for JVM
tieredstore TieredStore Tiered storage used by GooseFS
data Data Management strategies for the dataset to which the runtime is bound
replicas integer The replicas of the worker, need to be specified
runAs User Manage the user to run GooseFS Runtime
GooseFS support POSIX-ACL and Apache Ranger to manager authorization
disablePrometheus boolean Disable monitoring for GooseFS Runtime
Prometheus is enabled by default
Optional: {}
hadoopConfig string Name of the configMap used to support HDFS configurations when using HDFS as GooseFS's UFS. The configMap
must be in the same namespace with the GooseFSRuntime. The configMap should contain user-specific HDFS conf files in it.
For now, only "hdfs-site.xml" and "core-site.xml" are supported. It must take the filename of the conf file as the key and content
of the file as the value.
Optional: {}
cleanCachePolicy CleanCachePolicy CleanCachePolicy defines cleanCache Policy Optional: {}

HCFSStatus

HCFS Endpoint info

Appears in:

Field Description Default Validation
endpoint string Endpoint for accessing
underlayerFileSystemVersion string Underlayer HCFS Compatible Version

HeadlessRuntimeComponentService

HeadlessRuntimeComponentService defines the configuration for headless service

Appears in:

InitFuseSpec

InitFuseSpec is a description of initialize the fuse kernel module for runtime

Appears in:

Field Description Default Validation
version VersionSpec The version information that instructs fluid to orchestrate a particular version of Alifuse

InitUsersSpec

InitUsersSpec is a description of the initialize the users for runtime

Appears in:

Field Description Default Validation
image string Image for initialize the users for runtime(e.g. alluxio/alluxio-User init)
imageTag string Image Tag for initialize the users for runtime(e.g. 2.3.0-SNAPSHOT)
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
env object (keys:string, values:string) Environment variables that will be used by initialize the users for runtime
resources ResourceRequirements Resources that will be requested by initialize the users for runtime.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}

JindoCompTemplateSpec

JindoCompTemplateSpec is a description of the Jindo commponents

Appears in:

Field Description Default Validation
replicas integer Replicas is the desired number of replicas of the given template.
If unspecified, defaults to 1.
replicas is the min replicas of dataset in the cluster
Minimum: 1
Optional: {}
properties object (keys:string, values:string) Configurable properties for the Jindo component.
Optional: {}
ports object (keys:string, values:integer) Optional: {}
resources ResourceRequirements Resources that will be requested by the Jindo component.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
env object (keys:string, values:string) Environment variables that will be used by Jindo component.
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the master to fit on a node Optional: {}
tolerations Toleration array If specified, the pod's tolerations. Optional: {}
labels object (keys:string, values:string) Labels will be added on JindoFS Master or Worker pods.
DEPRECATED: This is a deprecated field. Please use PodMetadata instead.
Note: this field is set to be exclusive with PodMetadata.Labels
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Jindo's pods Optional: {}
disabled boolean If disable JindoFS master or worker Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the jindo runtime component's filesystem. Optional: {}
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images

JindoFuseSpec

JindoFuseSpec is a description of the Jindo Fuse

Appears in:

Field Description Default Validation
image string Image for Jindo Fuse(e.g. jindo/jindo-fuse)
imageTag string Image Tag for Jindo Fuse(e.g. 2.3.0-SNAPSHOT)
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images
properties object (keys:string, values:string) Configurable properties for Jindo System.
env object (keys:string, values:string) Environment variables that will be used by Jindo Fuse
resources ResourceRequirements Resources that will be requested by Jindo Fuse.



Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
already allocated to the pod.
Optional: {}
args string array Arguments that will be passed to Jindo Fuse
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the fuse client to fit on a node,
this option only effect when global is enabled
Optional: {}
tolerations Toleration array If specified, the pod's tolerations. Optional: {}
labels object (keys:string, values:string) Labels will be added on all the JindoFS pods.
DEPRECATED: this is a deprecated field. Please use PodMetadata.Labels instead.
Note: this field is set to be exclusive with PodMetadata.Labels
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Jindo's fuse pods Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy decides when to clean JindoFS Fuse pods.
Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
OnDemand cleans fuse pod once th fuse pod on some node is not needed
OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
Defaults to OnRuntimeDeleted
Optional: {}
disabled boolean If disable JindoFS fuse Optional: {}
logConfig object (keys:string, values:string) Optional: {}
metrics ClientMetrics Define whether fuse metrics will be enabled. Optional: {}

JindoRuntime

JindoRuntime is the Schema for the jindoruntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string JindoRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec JindoRuntimeSpec

JindoRuntimeSpec

JindoRuntimeSpec defines the desired state of JindoRuntime

Appears in:

Field Description Default Validation
jindoVersion VersionSpec The version information that instructs fluid to orchestrate a particular version of Jindo.
master JindoCompTemplateSpec The component spec of Jindo master
worker JindoCompTemplateSpec The component spec of Jindo worker
fuse JindoFuseSpec The component spec of Jindo Fuse
properties object (keys:string, values:string) Configurable properties for Jindo system.
tieredstore TieredStore Tiered storage used by Jindo
replicas integer The replicas of the worker, need to be specified
runAs User Manage the user to run Jindo Runtime
user string
hadoopConfig string Name of the configMap used to support HDFS configurations when using HDFS as Jindo's UFS. The configMap
must be in the same namespace with the JindoRuntime. The configMap should contain user-specific HDFS conf files in it.
For now, only "hdfs-site.xml" and "core-site.xml" are supported. It must take the filename of the conf file as the key and content
of the file as the value.
Optional: {}
secret string
labels object (keys:string, values:string) Labels will be added on all the JindoFS pods.
DEPRECATED: this is a deprecated field. Please use PodMetadata.Labels instead.
Note: this field is set to be exclusive with PodMetadata.Labels
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to all Jindo's fuse pods Optional: {}
logConfig object (keys:string, values:string) Optional: {}
networkmode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}
cleanCachePolicy CleanCachePolicy CleanCachePolicy defines cleanCache Policy Optional: {}
volumes Volume array Volumes is the list of Kubernetes volumes that can be mounted by the jindo runtime components and/or fuses. Optional: {}
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images Optional: {}

JobProcessor

Appears in:

Field Description Default Validation
podSpec PodSpec PodSpec defines Pod specification of the DataProcess job. Optional: {}

JuiceFSCompTemplateSpec

JuiceFSCompTemplateSpec is a description of the JuiceFS components

Appears in:

Field Description Default Validation
replicas integer Replicas is the desired number of replicas of the given template.
If unspecified, defaults to 1.
replicas is the min replicas of dataset in the cluster
Minimum: 1
Optional: {}
ports ContainerPort array Ports used by JuiceFS Optional: {}
resources ResourceRequirements Resources that will be requested by the JuiceFS component. Optional: {}
options object (keys:string, values:string) Options
env EnvVar array Environment variables that will be used by JuiceFS component.
enabled boolean Enabled or Disabled for the components. Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into runtime component's filesystem. Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to JuiceFs's pods. Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}

JuiceFSFuseSpec

Appears in:

Field Description Default Validation
image string Image for JuiceFS fuse
imageTag string Image for JuiceFS fuse
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
env EnvVar array Environment variables that will be used by JuiceFS Fuse
resources ResourceRequirements Resources that will be requested by JuiceFS Fuse.
options object (keys:string, values:string) Options mount options that fuse pod will use Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the fuse client to fit on a node,
this option only effect when global is enabled
Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into runtime component's filesystem. Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy decides when to clean Juicefs Fuse pods.
Currently Fluid supports three policies: OnDemand, OnRuntimeDeleted and OnFuseChangedCleanPolicy
OnDemand cleans fuse pod once the fuse pod on some node is not needed
OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
OnFuseChangedCleanPolicy cleans fuse pod once the fuse pod on some node is not needed and the fuse in runtime is updated
Defaults to OnRuntimeDeleted
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to JuiceFs's pods. Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}

JuiceFSRuntime

JuiceFSRuntime is the Schema for the juicefsruntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string JuiceFSRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec JuiceFSRuntimeSpec

JuiceFSRuntimeSpec

JuiceFSRuntimeSpec defines the desired state of JuiceFSRuntime

Appears in:

Field Description Default Validation
juicefsVersion VersionSpec The version information that instructs fluid to orchestrate a particular version of JuiceFS.
initUsers InitUsersSpec The spec of init users
master JuiceFSCompTemplateSpec The component spec of JuiceFS master
worker JuiceFSCompTemplateSpec The component spec of JuiceFS worker
jobWorker JuiceFSCompTemplateSpec The component spec of JuiceFS job Worker
fuse JuiceFSFuseSpec Desired state for JuiceFS Fuse
tieredstore TieredStore Tiered storage used by JuiceFS
configs string Configs of JuiceFS
replicas integer The replicas of the worker, need to be specified
runAs User Manage the user to run Juicefs Runtime
disablePrometheus boolean Disable monitoring for JuiceFS Runtime
Prometheus is enabled by default
Optional: {}
volumes Volume array Volumes is the list of Kubernetes volumes that can be mounted by the alluxio runtime components and/or fuses. Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to JuiceFs's pods. Optional: {}
management RuntimeManagement RuntimeManagement defines policies when managing the runtime Optional: {}

Level

Level describes configurations a tier needs.
Refer to Configuring Tiered Storage for more info

Appears in:

Field Description Default Validation
mediumtype MediumType Medium Type of the tier. One of the three types: MEM, SSD, HDD Enum: [MEM SSD HDD]
Required: {}
volumeType VolumeType VolumeType is the volume type of the tier. Should be one of the three types: hostPath, emptyDir and volumeTemplate.
If not set, defaults to hostPath.
hostPath Enum: [hostPath emptyDir]
Optional: {}
path string File paths to be used for the tier. Multiple paths are supported.
Multiple paths should be separated with comma. For example: "/mnt/cache1,/mnt/cache2".
MinLength: 1
Optional: {}
quota Quantity Quota for the whole tier. (e.g. 100Gi)
Please note that if there're multiple paths used for this tierstore,
the quota will be equally divided into these paths. If you'd like to
set quota for each, path, see QuotaList for more information.
Optional: {}
quotaList string QuotaList are quotas used to set quota on multiple paths. Quotas should be separated with comma.
Quotas in this list will be set to paths with the same order in Path.
For example, with Path defined with "/mnt/cache1,/mnt/cache2" and QuotaList set to "100Gi, 50Gi",
then we get 100GiB cache storage under "/mnt/cache1" and 50GiB under "/mnt/cache2".
Also note that num of quotas must be consistent with the num of paths defined in Path.
Pattern: ^((\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+)))),)+((\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?)$
Optional: {}
high string Ratio of high watermark of the tier (e.g. 0.9)
low string Ratio of low watermark of the tier (e.g. 0.7)

MasterSpec

MasterSpec defines the configurations for Vineyard Master component which is also regarded as the Etcd component in Vineyard. For more info about Vineyard, refer to Vineyard

Appears in:

Field Description Default Validation
replicas integer The replicas of Vineyard component.
If not specified, defaults to 1.
For worker, the replicas should not be greater than the number of nodes in the cluster
Minimum: 1
Optional: {}
image string The image of Vineyard component.
For Master, the default image is registry.aliyuncs.com/vineyard/vineyardd
For Worker, the default image is registry.aliyuncs.com/vineyard/vineyardd
The default container registry is docker.io, you can change it by setting the image field
Optional: {}
imageTag string The image tag of Vineyard component.
For Master, the default image tag is v0.22.2.
For Worker, the default image tag is v0.22.2.
Optional: {}
imagePullPolicy string The image pull policy of Vineyard component.
Default is IfNotPresent.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector to choose which nodes to launch the Vineyard component.
E,g. {"disktype": "ssd"}
Optional: {}
ports object (keys:string, values:integer) Ports used by Vineyard component.
For Master, the default client port is 2379 and peer port is 2380.
For Worker, the default rpc port is 9600 and the default exporter port is 9144.
Optional: {}
env object (keys:string, values:string) Environment variables that will be used by Vineyard component.
For Master, refer to Etcd Configuration for more info
Default is not set.
Optional: {}
options object (keys:string, values:string) Configurable options for Vineyard component.
For Master, there is no configurable options.
For Worker, support the following options.
vineyardd.reserve.memory: (Bool) where to reserve memory for vineyardd
If set to true, the memory quota will be counted to the vineyardd rather than the application.
etcd.prefix: (String) the prefix of etcd key for vineyard objects
wait.etcd.timeout: (String) the timeout period before waiting the etcd to be ready, in seconds
Default value is as follows.
vineyardd.reserve.memory: "true"
etcd.prefix: "/vineyard"
wait.etcd.timeout: "120"
Optional: {}
resources ResourceRequirements Resources contains the resource requirements and limits for the Vineyard component.
Default is not set.
For Worker, when the options contains vineyardd.reserve.memory=true,
the resources.request.memory for worker should be greater than tieredstore.levels[0].quota(aka vineyardd shared memory)
Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the vineyard runtime component's filesystem.
It is useful for specifying a persistent storage.
Default is not set.
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Vineyard's pods including Master and Worker.
Default is not set.
Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not
Default is HostNetwork
Enum: [HostNetwork ContainerNetwork]
Optional: {}
endpoint ExternalEndpointSpec ExternalEndpoint defines the configurations for external etcd cluster
Default is not set
If set, the Vineyard Master component will not be deployed,
which means the Vineyard Worker component will use an external Etcd cluster.
E,g.
endpoint:
uri: "etcd-svc.etcd-namespace.svc.cluster.local:2379"
encryptOptions:
- name: access-key
valueFrom:
secretKeyRef:
name: etcd-secret
key: accesskey
Optional: {}

MediumSource

MediumSource describes the storage medium type for tiered store. Only one of its members may be specified.

Appears in:

Field Description Default Validation
processMemory ProcessMemoryMediumSource ProcessMemory indicates that process memory should be used as the storage medium.
The cache will be stored in the process's memory space.
Optional: {}
volume VolumeMediumSource Volume indicates that a Kubernetes volume should be used as the storage medium.
Supported volume types include hostPath, emptyDir, and ephemeral volumes.
Optional: {}

MetadataSyncPolicy

MetadataSyncPolicy defines policies when syncing metadata

Appears in:

Field Description Default Validation
autoSync boolean AutoSync enables automatic metadata sync when setting up a runtime. If not set, it defaults to true. Optional: {}

Mount

Mount describes a mounting.
Refer to Alluxio Storage Integrations for more info

Appears in:

Field Description Default Validation
mountPoint string MountPoint is the mount point of source. MinLength: 5
Required: {}
options object (keys:string, values:string) The Mount Options.

Refer to Mount Options.

The option has Prefix 'fs.' And you can Learn more from
The Storage Integrations
Optional: {}
name string The name of mount MinLength: 0
Optional: {}
path string The path of mount, if not set will be /{Name} Optional: {}
readOnly boolean Optional: Defaults to false (read-write). Optional: {}
shared boolean Optional: Defaults to false (shared). Optional: {}
encryptOptions EncryptOption array The secret information Optional: {}

MountPointStatus

MountPointStatus describes the status of a single mount point in the dataset

Appears in:

Field Description Default Validation
mount Mount Mount contains the mount point configuration from the bound dataset.
This includes the remote path, mount options, and other mount-specific settings.
mountTime Time MountTime is the timestamp of the last successful mount operation.
If MountTime is earlier than the master component's start time, a remount will be required.
Optional: {}

NetworkMode

Underlying type: string

Appears in:

Field Description
HostNetwork
ContainerNetwork
`` DefaultNetworkMode is Host

NodePublishSecretPolicy

Underlying type: string

Appears in:

Field Description
NotMountNodePublishSecret
MountNodePublishSecretIfExists
CopyNodePublishSecretAndMountIfNotExists

OSAdvise

OSAdvise is a description of choices to have optimization on specific operating system

Appears in:

Field Description Default Validation
osVersion string Specific operating system version that can have optimization. Optional: {}
enabled boolean Enable operating system optimization
not enabled by default.
Optional: {}

ObjectRef

Appears in:

Field Description Default Validation
apiVersion string API version of the referent operation Optional: {}
kind string Kind specifies the type of the referent operation Enum: [DataLoad DataBackup DataMigrate DataProcess]
Required: {}
name string Name specifies the name of the referent operation Required: {}
namespace string Namespace specifies the namespace of the referent operation. Optional: {}

OperationRef

Appears in:

Field Description Default Validation
apiVersion string API version of the referent operation Optional: {}
kind string Kind specifies the type of the referent operation Enum: [DataLoad DataBackup DataMigrate DataProcess]
Required: {}
name string Name specifies the name of the referent operation Required: {}
namespace string Namespace specifies the namespace of the referent operation. Optional: {}
affinityStrategy AffinityStrategy AffinityStrategy specifies the pod affinity strategy with the referent operation. Optional: {}

PlacementMode

Underlying type: string

Appears in:

Field Description
Exclusive
Shared
`` DefaultMode is exclusive

PodMetadata

PodMetadata defines subgroup properties of metav1.ObjectMeta

Appears in:

Field Description Default Validation
labels object (keys:string, values:string) Labels are labels of pod specification
annotations object (keys:string, values:string) Annotations are annotations of pod specification

Policy

Underlying type: string

Appears in:

Field Description
Once Once run data migrate once, default policy is Once
Cron Cron run data migrate by cron
OnEvent OnEvent run data migrate when event occurs

Prefer

Prefer defines the label key and weight for generating a PreferredSchedulingTerm.

Appears in:

Field Description Default Validation
name string
weight integer

ProcessMemoryMediumSource

ProcessMemoryMediumSource describes process memory as a storage medium. When specified, cache data will be stored in the process's memory space, and the quota will be added to the container's resource requests and limits.

Appears in:

Processor

Processor defines the actual processor for DataProcess. Processor can be either of a Job or a Shell script.

Appears in:

Field Description Default Validation
serviceAccountName string ServiceAccountName defiens the serviceAccountName of the container Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations on the processor pod. Optional: {}
job JobProcessor Job represents a processor which runs DataProcess as a job. Optional: {}
script ScriptProcessor Shell represents a processor which executes shell script

Require

Require defines the label key for generating a NodeSelectorTerm.

Appears in:

Field Description Default Validation
name string

Runtime

Runtime describes a runtime to be used to support dataset

Appears in:

Field Description Default Validation
name string Name of the runtime object
namespace string Namespace of the runtime object
category Category Category the runtime object belongs to (e.g. Accelerate)
type string Runtime object's type (e.g. Alluxio)
masterReplicas integer Runtime master replicas

RuntimeComponentCommonSpec

RuntimeComponentCommonSpec describes the common configuration for CacheRuntime components

Appears in:

Field Description Default Validation
disabled boolean Disabled indicates whether the component should be disabled.
If set to true, the component will not be created.
Optional: {}
runtimeVersion VersionSpec RuntimeVersion is the version information that instructs Fluid to orchestrate a particular version of the runtime. Optional: {}
options object (keys:string, values:string) Options is a set of key-value pairs that provide additional configuration for the cache system. Optional: {}
podMetadata PodMetadata PodMetadata contains labels and annotations that will be propagated to the component's pods. Optional: {}
resources ResourceRequirements Resources describes the compute resource requirements.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Optional: {}
env EnvVar array Env is a list of environment variables to set in the container. Optional: {}
volumeMounts VolumeMount array VolumeMounts are the volumes to mount into the container's filesystem.
Cannot be updated.
Optional: {}
args string array Args are arguments to the entrypoint.
The container image's CMD is used if this is not provided.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the pod to fit on a node.
Selector which must match a node's labels for the pod to be scheduled on that node.
More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
Optional: {}
tolerations Toleration array Tolerations are the pod's tolerations.
If specified, the pod's tolerations.
More info: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
Optional: {}

RuntimeComponentDefinition

RuntimeComponentDefinition defines the configuration for a CacheRuntime component

Appears in:

Field Description Default Validation
workloadType TypeMeta WorkloadType is the default workload type of the component Optional: {}
options object (keys:string, values:string) Options is a set of key-value pairs that provide additional configuration for the component Optional: {}
template PodTemplateSpec Template describes the pods that will be created.
The template follows the standard PodTemplateSpec from Kubernetes core.
Optional: {}
service RuntimeComponentService Service is the service configuration for the component Optional: {}
dependencies RuntimeComponentDependencies Dependencies specifies the dependencies required by the component Optional: {}

RuntimeComponentDependencies

RuntimeComponentDependencies defines the dependencies required by a CacheRuntime component

Appears in:

Field Description Default Validation
encryptOption EncryptOptionComponentDependency EncryptOption is the configuration for encrypt option secret mount Optional: {}
extraResources ExtraResourcesComponentDependency ExtraResources specifies the usage of extra resources such as ConfigMaps Optional: {}

RuntimeComponentService

RuntimeComponentService describes the service configuration for a CacheRuntime component

Appears in:

Field Description Default Validation
headless HeadlessRuntimeComponentService Headless enables a headless service for the component.
A headless service does not allocate a cluster IP and allows direct pod-to-pod communication.
Optional: {}

RuntimeComponentStatus

RuntimeComponentStatus describes the observed state of a runtime component. It follows the standard Kubernetes pattern for tracking workload status.

Appears in:

Field Description Default Validation
phase RuntimePhase Phase is the current lifecycle phase of the component.
Known phases include: "Pending", "Running", "Failed", etc.
Required: {}
reason string Reason is a brief, machine-readable string that gives the reason for the current phase.
This is useful for understanding why a component is in a particular state.
Optional: {}
message string Message is a human-readable message indicating details about the component's status. Optional: {}
readyReplicas integer ReadyReplicas is the number of pods with a Ready condition. Optional: {}
currentReplicas integer CurrentReplicas is the current number of replicas running for the component Optional: {}
desiredReplicas integer DesiredReplicas is the desired number of replicas as specified in the spec. Optional: {}
unavailableReplicas integer UnavailableReplicas is the number of pods that are not available.
A pod is considered unavailable if it is not ready or has been terminated.
Optional: {}
availableReplicas integer AvailableReplicas is the number of pods that are available and ready to serve requests.
This count includes only pods that have passed readiness checks.
Optional: {}

RuntimeComponentStatusCollection

RuntimeComponentStatusCollection describes the status of all runtime components. It provides a unified view of master, worker, and client component states.

Appears in:

Field Description Default Validation
master RuntimeComponentStatus Master is the observed state of the master component. Optional: {}
worker RuntimeComponentStatus Worker is the observed state of the worker component. Optional: {}
client RuntimeComponentStatus Client is the observed state of the client (FUSE) component. Optional: {}

RuntimeCondition

Condition describes the state of the cache at a certain point.

Appears in:

Field Description Default Validation
type RuntimeConditionType Type of cache condition.
reason string The reason for the condition's last transition.
message string A human readable message indicating details about the transition.
lastProbeTime Time The last time this condition was updated.
lastTransitionTime Time Last time the condition transitioned from one status to another.

RuntimeConditionType

Underlying type: string

RuntimeConditionType indicates valid conditions type of a runtime

Appears in:

Field Description
MasterInitialized RuntimeMasterInitialized means the master of runtime is initialized
MasterReady RuntimeMasterReady means the master of runtime is ready
WorkersInitialized RuntimeWorkersInitialized means the workers of runtime are initialized
WorkersReady RuntimeWorkersReady means the workers of runtime are ready
WorkersScaledIn RuntimeWorkerScaledIn means the workers of runtime just scaled in
WorkersScaledOut RuntimeWorkerScaledIn means the workers of runtime just scaled out
FusesInitialized RuntimeFusesInitialized means the fuses of runtime are initialized
FusesReady RuntimeFusesReady means the fuses of runtime are ready
FusesScaledIn RuntimeFusesScaledIn means the fuses of runtime just scaled in
FusesScaledOut RuntimeFusesScaledOut means the fuses of runtime just scaled out

RuntimeExtraResources

RuntimeExtraResources defines the extra resources for CacheRuntime

Appears in:

Field Description Default Validation
configMaps ConfigMapRuntimeExtraResource array ConfigMaps is a list of ConfigMaps that will be created in the runtime's namespace.
These ConfigMaps can be referenced and mounted by runtime components.
Optional: {}

RuntimeManagement

RuntimeManagement defines suggestions for runtime controllers to manage the runtime

Appears in:

Field Description Default Validation
cleanCachePolicy CleanCachePolicy CleanCachePolicy defines the policy of cleaning cache when shutting down the runtime Optional: {}
metadataSyncPolicy MetadataSyncPolicy MetadataSyncPolicy defines the policy of syncing metadata when setting up the runtime. If not set, Optional: {}

RuntimePhase

Underlying type: string

Appears in:

Field Description
``
NotReady
PartialReady
Ready

RuntimeTieredStore

RuntimeTieredStore describes the tiered storage configuration for cache runtime

Appears in:

Field Description Default Validation
levels RuntimeTieredStoreLevel array Levels is the list of cache storage tiers from highest priority to lowest.
Each tier can use different storage media (e.g., memory, SSD, HDD).
Optional: {}

RuntimeTieredStoreLevel

RuntimeTieredStoreLevel describes the configuration for a single tier in the tiered storage

Appears in:

Field Description Default Validation
medium MediumSource Medium describes the storage medium type for this tier.
Supported types include process memory and various volume types.
Optional: {}
path string array Path is a list of file paths to be used for the cache tier.
Multiple paths can be specified to distribute cache across different mount points.
For example: ["/mnt/cache1", "/mnt/cache2"].
MinItems: 1
Optional: {}
quota Quantity array Quota is a list of storage quotas for each path in the tier.
The length of Quota should match the length of Path.
Each quota corresponds to the path at the same index.
For example: ["100Gi", "50Gi"] allocates 100GiB to the first path and 50GiB to the second path.
Optional: {}
high string High is the ratio of high watermark of the tier (e.g., "0.9").
When cache usage exceeds this ratio, eviction will be triggered.
Optional: {}
low string Low is the ratio of low watermark of the tier (e.g., "0.7").
Eviction will continue until cache usage falls below this ratio.
Optional: {}

RuntimeTopology

RuntimeTopology defines the topology structure of CacheRuntime components

Appears in:

Field Description Default Validation
master RuntimeComponentDefinition Master is the configuration for master component Optional: {}
worker RuntimeComponentDefinition Worker is the configuration for worker component Optional: {}
client RuntimeComponentDefinition Client is the configuration for client component Optional: {}

ScriptProcessor

Appears in:

Field Description Default Validation
image string Image (e.g. alluxio/alluxio)
imageTag string Image tag (e.g. 2.3.0-SNAPSHOT)
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
restartPolicy RestartPolicy RestartPolicy specifies the processor job's restart policy. Only "Never", "OnFailure" is allowed. Never Enum: [Never OnFailure]
Optional: {}
command string array Entrypoint command for ScriptProcessor. Optional: {}
source string Script source for ScriptProcessor Required: {}
env EnvVar array List of environment variables to set in the container. Optional: {}
volumeMounts VolumeMount array Pod volumes to mount into the container's filesystem. Optional: {}
volumes Volume array List of volumes that can be mounted by containers belonging to the pod. Optional: {}
resources ResourceRequirements Resources that will be requested by the DataProcess job.
Optional: {}

SecretKeySelector

Appears in:

Field Description Default Validation
name string The name of required secret Required: {}
key string The required key in the secret Optional: {}

TargetDataset

TargetDataset defines the target dataset of the DataLoad

Appears in:

Field Description Default Validation
name string Name defines name of the target dataset
namespace string Namespace defines namespace of the target dataset

TargetDatasetWithMountPath

TargetDataset defines which dataset will be processed by DataProcess. Under the hood, the dataset's pvc will be mounted to the given mountPath of the DataProcess's containers.

Appears in:

Field Description Default Validation
name string Name defines name of the target dataset
namespace string Namespace defines namespace of the target dataset
mountPath string MountPath defines where the Dataset should be mounted in DataProcess's containers. Required: {}
subPath string SubPath defines subpath of the target dataset to mount. Optional: {}

TargetPath

TargetPath defines the target path of the DataLoad

Appears in:

Field Description Default Validation
path string Path defines path to be load
replicas integer Replicas defines how many replicas will be loaded

ThinCompTemplateSpec

ThinCompTemplateSpec is a description of the thinRuntime components

Appears in:

Field Description Default Validation
image string Image for thinRuntime fuse
imageTag string Image for thinRuntime fuse
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images Optional: {}
replicas integer Replicas is the desired number of replicas of the given template.
If unspecified, defaults to 1.
replicas is the min replicas of dataset in the cluster
Minimum: 1
Optional: {}
ports ContainerPort array Ports used thinRuntime Optional: {}
resources ResourceRequirements Resources that will be requested by thinRuntime component. Optional: {}
env EnvVar array Environment variables that will be used by thinRuntime component.
enabled boolean Enabled or Disabled for the components. Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into runtime component's filesystem. Optional: {}
livenessProbe Probe livenessProbe of thin fuse pod Optional: {}
readinessProbe Probe readinessProbe of thin fuse pod Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}

ThinFuseSpec

Appears in:

Field Description Default Validation
image string Image for thinRuntime fuse
imageTag string Image for thinRuntime fuse
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images Optional: {}
ports ContainerPort array Ports used thinRuntime Optional: {}
env EnvVar array Environment variables that will be used by thinRuntime Fuse
command string array Command that will be passed to thinRuntime Fuse
args string array Arguments that will be passed to thinRuntime Fuse
options object (keys:string, values:string) Options configurable options of FUSE client, performance parameters usually.
will be merged with Dataset.spec.mounts.options into fuse pod.
resources ResourceRequirements Resources that will be requested by thinRuntime Fuse.
nodeSelector object (keys:string, values:string) NodeSelector is a selector which must be true for the fuse client to fit on a node,
this option only effect when global is enabled
Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy decides when to clean thinRuntime Fuse pods.
Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
OnDemand cleans fuse pod once the fuse pod on some node is not needed
OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
Defaults to OnDemand
Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not Enum: [HostNetwork ContainerNetwork]
Optional: {}
livenessProbe Probe livenessProbe of thin fuse pod Optional: {}
readinessProbe Probe readinessProbe of thin fuse pod Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the thinruntime component's filesystem. Optional: {}
lifecycle Lifecycle Lifecycle describes actions that the management system should take in response to container lifecycle events.
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to ThinRuntime's FUSE pods. Optional: {}

ThinRuntime

ThinRuntime is the Schema for the thinruntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string ThinRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ThinRuntimeSpec

ThinRuntimeProfile

ThinRuntimeProfile is the Schema for the ThinRuntimeProfiles API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string ThinRuntimeProfile
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ThinRuntimeProfileSpec

ThinRuntimeProfileSpec

ThinRuntimeProfileSpec defines the desired state of ThinRuntimeProfile

Appears in:

Field Description Default Validation
fileSystemType string file system of thinRuntime Required: {}
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images Optional: {}
worker ThinCompTemplateSpec The component spec of worker
fuse ThinFuseSpec The component spec of thinRuntime
volumes Volume array Volumes is the list of Kubernetes volumes that can be mounted by runtime components and/or fuses. Optional: {}
nodePublishSecretPolicy NodePublishSecretPolicy NodePublishSecretPolicy describes the policy to decide which to do with node publish secret when mounting an existing persistent volume. MountNodePublishSecretIfExists Enum: [NotMountNodePublishSecret MountNodePublishSecretIfExists CopyNodePublishSecretAndMountIfNotExists]

ThinRuntimeSpec

ThinRuntimeSpec defines the desired state of ThinRuntime

Appears in:

Field Description Default Validation
profileName string The specific runtime profile name, empty value is used for handling datasets which mount another dataset
worker ThinCompTemplateSpec The component spec of worker
fuse ThinFuseSpec The component spec of thinRuntime
tieredstore TieredStore Tiered storage
replicas integer The replicas of the worker, need to be specified
runAs User Manage the user to run Runtime
disablePrometheus boolean Disable monitoring for Runtime
Prometheus is enabled by default
Optional: {}
volumes Volume array Volumes is the list of Kubernetes volumes that can be mounted by runtime components and/or fuses. Optional: {}
management RuntimeManagement RuntimeManagement defines policies when managing the runtime Optional: {}
imagePullSecrets LocalObjectReference array ImagePullSecrets that will be used to pull images Optional: {}

TieredStore

TieredStore is a description of the tiered store

Appears in:

Field Description Default Validation
levels Level array configurations for multiple tiers

User

User explains the user and group to run a Container

Appears in:

Field Description Default Validation
uid integer The uid to run the alluxio runtime
gid integer The gid to run the alluxio runtime
user string The user name to run the alluxio runtime
group string The group name to run the alluxio runtime

VersionSpec

VersionSpec represents the settings for the version that fluid is orchestrating.

Appears in:

Field Description Default Validation
image string Image (e.g. alluxio/alluxio)
imageTag string Image tag (e.g. 2.3.0-SNAPSHOT)
imagePullPolicy string One of the three policies: Always, IfNotPresent, Never

VineyardClientSocketSpec

VineyardClientSocketSpec holds the configurations for vineyard client socket

Appears in:

Field Description Default Validation
image string Image for Vineyard Fuse
Default is registry.aliyuncs.com/vineyard/vineyard-fluid-fuse
Optional: {}
imageTag string Image Tag for Vineyard Fuse
Default is v0.22.2
Optional: {}
imagePullPolicy string Image pull policy for Vineyard Fuse
Default is IfNotPresent
Available values are Always, IfNotPresent, Never
Optional: {}
env object (keys:string, values:string) Environment variables that will be used by Vineyard Fuse.
Default is not set.
Optional: {}
cleanPolicy FuseCleanPolicy CleanPolicy decides when to clean Vineyard Fuse pods.
Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
OnDemand cleans fuse pod once th fuse pod on some node is not needed
OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
Defaults to OnRuntimeDeleted
Optional: {}
resources ResourceRequirements Resources contains the resource requirements and limits for the Vineyard Fuse.
Default is not set.
Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not
Default is HostNetwork
Enum: [HostNetwork ContainerNetwork]
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Vineyard's pods. Optional: {}
options object (keys:string, values:string) Options for configuring vineyardd parameters.
Supported options are as follows.
reserve_memory: (Bool) Whether to reserving enough physical memory pages for vineyardd.
Default is true.
allocator: (String) The allocator used by vineyardd, could be "dlmalloc" or "mimalloc".
Default is "dlmalloc".
compression: (Bool) Compress before migration or spilling.
Default is true.
coredump: (Bool) Enable coredump core dump when been aborted.
Default is false.
meta_timeout: (Int) Timeout period before waiting the metadata service to be ready, in seconds
Default is 60.
etcd_endpoint: (String) The endpoint of etcd.
Default is same as the etcd endpoint of vineyard worker.
etcd_prefix: (String) Metadata path prefix in etcd.
Default is "/vineyard".
size: (String) shared memory size for vineyardd.
1024M, 1024000, 1G, or 1Gi.
Default is "0", which means no cache.
When the size is not set to "0", it should be greater than the 2048 bytes(2K).
spill_path: (String) Path to spill temporary files, if not set, spilling will be disabled.
Default is "".
spill_lower_rate: (Double) The lower rate of memory usage to trigger spilling.
Default is 0.3.
spill_upper_rate: (Double) The upper rate of memory usage to stop spilling.
Default is 0.8.
Default is as follows.
fuse:
options:
size: "0"
etcd_endpoint: "http://{{Name}}-master-0.{{Name}}-master.{{Namespace}}:{{EtcdClientPort}}"
etcd_prefix: "/vineyard"
Optional: {}

VineyardCompTemplateSpec

VineyardCompTemplateSpec is the common configurations for vineyard components including Master and Worker.

Appears in:

Field Description Default Validation
replicas integer The replicas of Vineyard component.
If not specified, defaults to 1.
For worker, the replicas should not be greater than the number of nodes in the cluster
Minimum: 1
Optional: {}
image string The image of Vineyard component.
For Master, the default image is registry.aliyuncs.com/vineyard/vineyardd
For Worker, the default image is registry.aliyuncs.com/vineyard/vineyardd
The default container registry is docker.io, you can change it by setting the image field
Optional: {}
imageTag string The image tag of Vineyard component.
For Master, the default image tag is v0.22.2.
For Worker, the default image tag is v0.22.2.
Optional: {}
imagePullPolicy string The image pull policy of Vineyard component.
Default is IfNotPresent.
Optional: {}
nodeSelector object (keys:string, values:string) NodeSelector is a selector to choose which nodes to launch the Vineyard component.
E,g. {"disktype": "ssd"}
Optional: {}
ports object (keys:string, values:integer) Ports used by Vineyard component.
For Master, the default client port is 2379 and peer port is 2380.
For Worker, the default rpc port is 9600 and the default exporter port is 9144.
Optional: {}
env object (keys:string, values:string) Environment variables that will be used by Vineyard component.
For Master, refer to Etcd Configuration for more info
Default is not set.
Optional: {}
options object (keys:string, values:string) Configurable options for Vineyard component.
For Master, there is no configurable options.
For Worker, support the following options.
vineyardd.reserve.memory: (Bool) where to reserve memory for vineyardd
If set to true, the memory quota will be counted to the vineyardd rather than the application.
etcd.prefix: (String) the prefix of etcd key for vineyard objects
wait.etcd.timeout: (String) the timeout period before waiting the etcd to be ready, in seconds
Default value is as follows.
vineyardd.reserve.memory: "true"
etcd.prefix: "/vineyard"
wait.etcd.timeout: "120"
Optional: {}
resources ResourceRequirements Resources contains the resource requirements and limits for the Vineyard component.
Default is not set.
For Worker, when the options contains vineyardd.reserve.memory=true,
the resources.request.memory for worker should be greater than tieredstore.levels[0].quota(aka vineyardd shared memory)
Optional: {}
volumeMounts VolumeMount array VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the vineyard runtime component's filesystem.
It is useful for specifying a persistent storage.
Default is not set.
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Vineyard's pods including Master and Worker.
Default is not set.
Optional: {}
networkMode NetworkMode Whether to use hostnetwork or not
Default is HostNetwork
Enum: [HostNetwork ContainerNetwork]
Optional: {}

VineyardRuntime

VineyardRuntime is the Schema for the VineyardRuntimes API

Field Description Default Validation
apiVersion string data.fluid.io/v1alpha1
kind string VineyardRuntime
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec VineyardRuntimeSpec

VineyardRuntimeSpec

VineyardRuntimeSpec defines the desired state of VineyardRuntime

Appears in:

Field Description Default Validation
master MasterSpec Master holds the configurations for Vineyard Master component
Represents the Etcd component in Vineyard
Optional: {}
worker VineyardCompTemplateSpec Worker holds the configurations for Vineyard Worker component
Represents the Vineyardd component in Vineyard
Optional: {}
replicas integer The replicas of the worker, need to be specified
If worker.replicas and the field are both specified, the field will be respected
fuse VineyardClientSocketSpec Fuse holds the configurations for Vineyard client socket.
Note that the "Fuse" here is kept just for API consistency, VineyardRuntime mount a socket file instead of a FUSE filesystem to make data cache available.
Applications can connect to the vineyard runtime components through IPC or RPC.
IPC is the default way to connect to vineyard runtime components, which is more efficient than RPC.
If the socket file is not mounted, the connection will fall back to RPC.
Optional: {}
tieredstore TieredStore Tiered storage used by vineyardd
The MediumType can only be MEM and SSD
MEM actually represents the shared memory of vineyardd.
SSD represents the external storage of vineyardd.
Default is as follows.
tieredstore:
levels:
- level: 0
mediumtype: MEM
quota: 4Gi
Choose hostpath as the external storage of vineyardd.
tieredstore:
levels:
- level: 0
mediumtype: MEM
quota: 4Gi
high: "0.8"
low: "0.3"
- level: 1
mediumtype: SSD
quota: 10Gi
volumeType: Hostpath
path: /var/spill-path
Optional: {}
disablePrometheus boolean Disable monitoring metrics for Vineyard Runtime
Default is false
Optional: {}
podMetadata PodMetadata PodMetadata defines labels and annotations that will be propagated to Vineyard's pods. Optional: {}
volumes Volume array Volumes is the list of Kubernetes volumes that can be mounted by the vineyard components (Master and Worker).
Default is null.
Optional: {}

VolumeMediumSource

VolumeMediumSource describes a Kubernetes volume as a storage medium. Only one of its members may be specified.

Appears in:

Field Description Default Validation
hostPath HostPathVolumeSource HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container.
More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
Optional: {}
emptyDir EmptyDirVolumeSource EmptyDir represents a temporary directory that shares a pod's lifetime.
More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
Optional: {}
ephemeral EphemeralVolumeSource Ephemeral represents a volume that is handled by a cluster storage driver.
The volume's lifecycle is tied to the pod that defines it.
More info: https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/
Optional: {}

WaitingStatus

Appears in:

Field Description Default Validation
operationComplete boolean OperationComplete indicates if the preceding operation is complete