The module lifecycle stageGeneral Availability

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

Scope: Cluster
Version: v1alpha1

LocalStorageClass is a Kubernetes Custom Resource that defines a configuration for a Kubernetes StorageClass.
  • spec
    object
    Defines a Kubernetes StorageClass configuration.
    • spec.fsType
      string
      StorageClass file system type.

      Default: ext4

      Allowed values: ext4, xfs

    • spec.lvm
      object

      Required value

      LVM configuration.
      • spec.lvm.lvmVolumeGroups
        array of objects

        Required value

        List of LVMVolumeGroup resources where PersistentVolumes will be created.
        • spec.lvm.lvmVolumeGroups.name
          string
          LVMVolumeGroup resource name.
        • spec.lvm.lvmVolumeGroups.thin
          object
          Thin pool in a LVMVolumeGroup resource.
          • spec.lvm.lvmVolumeGroups.thin.poolName
            string

            Required value

            Thin pool name.

            Minimal length: 1

            Pattern: ^.*$

      • spec.lvm.thick
        object
        Settings for Logical Volumes in a LVMVolumeGroup resource.
        • spec.lvm.thick.contiguous
          boolean

          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.

      • spec.lvm.type
        string

        Required value

        Provisioning type of the LVM Logical Volumes (LV) created for PersistentVolumes (PV).

        Allowed values: Thick, Thin

      • spec.lvm.volumeCleanup
        string

        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 the discard system call. This option is applicable only to SSDs.

        Allowed values: RandomFillThreePass, RandomFillSinglePass, Discard

    • spec.reclaimPolicy
      string

      Required value

      StorageClass reclaim policy. Possible values:

      • Delete: If the PersistentVolumeClaim is deleted, the PersistentVolume and its associated storage are also deleted
      • Retain: If the PersistentVolumeClaim is deleted, the PersistentVolume and its associated storage remain

      Allowed values: Delete, Retain

    • spec.volumeBindingMode
      string

      Required value

      StorageClass binding mode. Possible values:

      • Immediate: Creates a PersistentVolume immediately after the PersistentVolumeClaim is created
      • WaitForFirstConsumer: Creates a PersistentVolume only after a Pod that uses the PersistentVolumeClaim is created

      Allowed values: Immediate, WaitForFirstConsumer