The module lifecycle stage: General Availability
The module has requirements for installation
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
LocalStorageClass
Short names: lsc
Scope: Cluster
Version: v1alpha1
-
objectspecDefines a Kubernetes StorageClass configuration.
-
stringspec.fsTypeStorageClass file system type.
Default:
ext4Allowed values:
ext4,xfs -
objectspec.lvm
Required value
LVM configuration.-
array of objectsspec.lvm.lvmVolumeGroups
Required value
List of entries selecting the LVMVolumeGroup resources where PersistentVolumes will be created.
Each entry selects LVMVolumeGroups either by name (
name) or by labels (labelSelector). Exactly one of the two must be set per entry, and the whole list must use one kind consistently — either allnameentries or alllabelSelectorentries, not a mix. AlabelSelectorentry is resolved by the controller into every matching LVMVolumeGroup and kept in sync as LVMVolumeGroups are added, removed or relabeled. Name-based entries must list each LVMVolumeGroup at most once. OverlappinglabelSelectorentries that resolve to the same LVMVolumeGroup are collapsed when they agree onthin.poolNameand rejected when they disagree.-
objectspec.lvm.lvmVolumeGroups.labelSelectorLabel selector that selects one or more LVMVolumeGroup resources by their labels. Mutually exclusive with
name.-
array of objectsspec.lvm.lvmVolumeGroups.labelSelector.matchExpressionsList of label selector requirements. The requirements are ANDed.
-
stringspec.lvm.lvmVolumeGroups.labelSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringspec.lvm.lvmVolumeGroups.labelSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsspec.lvm.lvmVolumeGroups.labelSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty.
-
-
objectspec.lvm.lvmVolumeGroups.labelSelector.matchLabelsMap of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”.
-
-
stringspec.lvm.lvmVolumeGroups.nameLVMVolumeGroup resource name. Mutually exclusive with
labelSelector.Maximum length:
253 -
objectspec.lvm.lvmVolumeGroups.thinThin pool used for the LVMVolumeGroups selected by this entry. Required when
typeisThin, forbidden whentypeisThick.-
stringspec.lvm.lvmVolumeGroups.thin.poolName
Required value
Thin pool name.Length:
1..253Pattern:
^.*$
-
-
-
objectspec.lvm.thickSettings for Logical Volumes in a LVMVolumeGroup resource.
-
booleanspec.lvm.thick.contiguous
If
true, the Logical Volume will be created with the contiguous flag.Note: This flag should be used with caution because it may lead to poor scheduling of pods using the PersistentVolume. Our scheduler checks the free space in VG and selects nodes with the most free space for pods. However, it cannot determine the maximum amount of sequential free space available. Consequently, there may be situations where a pod is scheduled to a node, but the volume cannot be created due to insufficient contiguous free space. If such a situation arises, manual intervention will be required.
-
-
stringspec.lvm.type
Required value
Provisioning type of the LVM Logical Volumes (LV) created for PersistentVolumes (PV).Allowed values:
Thick,Thin -
stringspec.lvm.volumeCleanup
Volume cleanup method after the PersistentVolume is deleted. If this parameter is not set, there’s no guarantee that the data will be completely deleted.
Allowed values:
RandomFillSinglePass: The volume will be overwritten with random data once before deletion. This option is not recommended for solid-state drives (SSDs), as overwriting reduces the drive’s lifespan.RandomFillThreePass: The volume will be overwritten with random data three times before deletion. This option is also not recommended for SSDs, as overwriting reduces the drive’s lifespan.Discard: Before deletion, all blocks of the volume will be marked as free using thediscardsystem call. This option is applicable only to SSDs.
Allowed values:
RandomFillThreePass,RandomFillSinglePass,Discard
-
-
stringspec.reclaimPolicy
Required value
StorageClass reclaim policy. Possible values:
Delete: If the PersistentVolumeClaim is deleted, the PersistentVolume and its associated storage are also deletedRetain: If the PersistentVolumeClaim is deleted, the PersistentVolume and its associated storage remain
Allowed values:
Delete,Retain -
stringspec.volumeBindingMode
Required value
StorageClass binding mode. Possible values:
Immediate: Creates a PersistentVolume immediately after the PersistentVolumeClaim is createdWaitForFirstConsumer: Creates a PersistentVolume only after a Pod that uses the PersistentVolumeClaim is created
Allowed values:
Immediate,WaitForFirstConsumer
-
-
objectstatusCurrent state of the StorageClass.
-
stringstatus.phase
StorageClass current state. Possible values:
Failed: The controller received incorrect resource configuration or errors occurred during the operationCreated: All operations completed successfully
Allowed values:
Failed,Created -
stringstatus.reasonAdditional information about the current state of the StorageClass.
-