Стадия жизненного цикла модуля: General Availability

Работоспособность модуля гарантируется только при использовании стоковых ядер, поставляемых вместе с поддерживаемыми дистрибутивами.

Работоспособность модуля при использовании других ядер или дистрибутивов возможна, но не гарантируется.

Deckhouse Kubernetes Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.

BlockDevice

Scope: Cluster
Version: v1alpha1

Ресурс отображает актуальную информацию о доступных блочных устройствах на узлах, которые могут быть использованы контроллером sds-node-configurator для операций в LVM.

Ресурс создается и обслуживается только контроллером. Ручное изменение ресурса запрещено.

LVMLogicalVolume

Scope: Cluster
Version: v1alpha1

Ресурс LVMLogicalVolume определяет хранилище, в котором будет создан PV.
  • spec
    объект
    • spec.actualLVNameOnTheNode
      строка

      Обязательный параметр

      Имя Logical Volume на узле.

      Минимальная длина: 1

      Шаблон: ^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$

    • spec.lvmVolumeGroupName
      строка

      Обязательный параметр

      Имя ресурса LVMVolumeGroup, Volume Group которого будет использовано для создания Logical Volume.

      Минимальная длина: 1

      Шаблон: ^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$

    • spec.size
      строка или число

      Обязательный параметр

      Желаемый размер Logical Volume. Может быть указан как в численном, так и процентном отношении к общему размеру Volume Group или thin pool. Для thin pool общий размер — это реальный размер пула, умноженный на значение allocationLimit.

      Обратите внимание, что при указании размера в процентах Logical Volume будет автоматически расширена при расширении Volume Group или thin pool, а также при увеличении значения поля allocationLimit для thin pool.

      Минимальная длина: 1

      Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

    • spec.source
      объект
      Источник тома, если указан.
      • spec.source.kind
        строка

        Обязательный параметр

        Тип источника. Тип LVMLogicalVolume означает, что текущий ресурс — это клон. Тип LVMLogicalVolumeSnapshot означает, что текущий ресурс — это восстановленный том.

        Допустимые значения: LVMLogicalVolume, LVMLogicalVolumeSnapshot

      • spec.source.name
        строка

        Обязательный параметр

        Имя ресурса, из которого создан текущий ресурс.

        Минимальная длина: 1

    • spec.thick
      объект
      Описывает настройки используемого Thick Logical Volume.
      • spec.thick.contiguous
        булевый

        Если установлено значение true, логический том будет создан с атрибутом contiguous.

        Используйте этот атрибут с осторожностью, так как он может привести к невозможности создания Logical Volume, несмотря на наличие свободного пространства.

    • spec.thin
      объект
      Определяет используемый thin pool. Указывается только при Thin Logical Volume.
      • spec.thin.poolName
        строка

        Обязательный параметр

        Имя используемого thin pool.

        Минимальная длина: 1

        Шаблон: ^.*$

    • spec.type
      строка

      Обязательный параметр

      Тип Logical Volume.

      Допустимые значения: Thick, Thin

    • spec.volumeCleanup
      строка

      Метод очистки тома после удаления PV. Если параметр не задан, полное удаление данных не гарантируется.

      Возможные значения:

      • RandomFillSinglePass — том будет перезаписан случайными данными один раз перед удалением. Не рекомендуется использовать данную опцию для твердотельных накопителей, так как перезапись уменьшает ресурс накопителя. Для thin-томов будет перезаписано только используемое на момент удаления тома пространство.
      • RandomFillThreePass — том будет перезаписан случайными данными три раза перед удалением. Не рекомендуется использовать данную опцию для твердотельных накопителей, так как перезапись уменьшает ресурс накопителя. Для thin-томов будет перезаписано только используемое на момент удаления тома пространство.
      • Discard — перед удалением все блоки тома будут отмечены как свободные с помощью системного вызова discard. Данная опция применима только для твердотельных накопителей и thick-томов.

      Допустимые значения: RandomFillThreePass, RandomFillSinglePass, Discard

LVMLogicalVolumeSnapshot

Scope: Cluster
Version: v1alpha1

Ресурс LVMLogicalVolumeSnapshot определяет хранилище, в котором будет создан VolumeSnapshot.
  • spec
    объект
    • spec.actualSnapshotNameOnTheNode
      строка
      Имя снимка тома на узле.

      Минимальная длина: 1

    • spec.lvmLogicalVolumeName
      строка

      Обязательный параметр

      Имя ресурса LVMLogicalVolume, с которого создается снимок.

      Минимальная длина: 1

LVMVolumeGroup

Scope: Cluster
Version: v1alpha1

Интерфейс управления Volume Group’ами и Thin pool’ами на узлах.

Этот тип ресурсов может быть создан как самим пользователем, так и контроллером sds-node-configurator. Контроллер sds-node-configurator автоматически создаст ресурс LVMVolumeGroup в случае, если найдет на узле существующую Volume Group со специальным тегом ‘storage.deckhouse.io/enabled=true’, при этом контроллер самостоятельно заполнит как spec, так и status поля. Поле spec.thinPools нужно заполнить самостоятельно.

  • spec
    объект
    • spec.actualVGNameOnTheNode
      строка

      Обязательный параметр

      Желаемое имя группы томов. Должно быть уникальным для узла, на котором она находится.

      Это поле неизменяемое.

    • spec.blockDeviceSelector
      объект

      Обязательный параметр

      Желаемый селектор блочных устройств.

      Обратите внимание, что выбранные блочные устройства должны принадлежать одному узлу для группы томов с типом ‘Local’.

      • spec.blockDeviceSelector.matchExpressions
        массив объектов
        Выражения для селектора блочных устройств.
        • spec.blockDeviceSelector.matchExpressions.key
          строка
          Ключ метки для проверки.
        • spec.blockDeviceSelector.matchExpressions.operator
          строка
          Оператор для сравнения значений.

          Допустимые значения: In, NotIn, Exists, DoesNotExist

        • spec.blockDeviceSelector.matchExpressions.values
          массив строк
          Массив значений для сравнения. Требуется, если оператор In или NotIn.
      • spec.blockDeviceSelector.matchLabels
        объект
        Метки для селектора блочных устройств.
    • spec.local
      объект
      Желаемая конфигурация для локальной группы томов.
      • spec.local.nodeName
        строка

        Обязательный параметр

        Желаемый узел для группы томов LVM.

        Это поле неизменяемое.

    • spec.thinPools
      массив объектов
      Желаемая конфигурация thin pool.
      • spec.thinPools.allocationLimit
        строка
        Предел расширения thin pool.

        По умолчанию: 150%

        Шаблон: ^[1-9][0-9]{2,3}%$

      • spec.thinPools.name
        строка

        Желаемое имя thin pool.

        Это поле неизменяемое.

      • spec.thinPools.size
        строка или число

        Желаемый размер thin pool. Может быть указан как в численном формате, так и в процентах от общего размера группы томов.

        При указании размера в процентах thin pool будет автоматически расширен при расширении группы томов.

        Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

    • spec.type
      строка

      Обязательный параметр

      Тип группы томов.

      Возможные значения:

      • Local — локальная группа томов; используемые устройства не являются распределёнными (не Shared LUN).

      Допустимые значения: Local

LvmVolumeGroupBackup

Scope: Cluster
Version: v1alpha1

Ресурс, сохраняющий информацию из ресурсов lvmvolumegroups для миграции их kind с LvmVolumeGroup на LVMVolumeGroup.
  • spec
    объект
    • spec.actualVGNameOnTheNode
      строка

      Обязательный параметр

      Желаемое имя группы томов. Должно быть уникальным для узла, на котором она находится.

      Это поле неизменяемое.

    • spec.blockDeviceNames
      массив строк

      Обязательный параметр

      Массив имён ресурсов блочных устройств для создания группы томов.

      Учтите, что выбранные блочные устройства должны принадлежать одному узлу для локальной группы томов.

    • spec.thinPools
      массив объектов
      Желаемая конфигурация thin pool.
      • spec.thinPools.allocationLimit
        строка
        Предел расширения thin pool.

        По умолчанию: 150%

        Шаблон: ^[1-9][0-9]{2,3}%$

      • spec.thinPools.name
        строка

        Желаемое имя thin pool.

        Это поле неизменяемое.

      • spec.thinPools.size
        строка или число

        Желаемый размер thin pool. Может быть указан как в численном формате, так и в процентах от общего размера группы томов.

        При указании размера в процентах thin pool будет автоматически расширен при расширении группы томов.

        Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

    • spec.type
      строка

      Обязательный параметр

      Тип группы томов.

      Возможные значения:

      • Local — локальная группа томов; используемые устройства не являются распределёнными (не Shared LUN).

      Допустимые значения: Local

LVMVolumeGroupSet

Scope: Cluster
Version: v1alpha1

Интерфейс для одновременного создания нескольких ресурсов LVMVolumeGroup по общему шаблону.
  • spec
    объект
    • spec.lvmVolumeGroupTemplate
      объект

      Обязательный параметр

      Общий шаблон для ресурсов LVMVolumeGroup, создаваемых данным набором.
      • spec.lvmVolumeGroupTemplate.actualVGNameOnTheNode
        строка

        Обязательный параметр

        Желаемое имя группы томов в ресурсах LVMVolumeGroup. Должно быть уникальным для узла, на котором она находится.

        Это поле неизменяемое. Указанное имя группы томов будет общим для каждого ресурса LVMVolumeGroup, созданного данным набором.

      • spec.lvmVolumeGroupTemplate.blockDeviceSelector
        объект

        Обязательный параметр

        Селектор ресурсов BlockDevice, используемый в конфигурации ресурсов LVMVolumeGroup.
        • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions
          массив объектов
          Выражения для селектора блочных устройств.
          • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.key
            строка
            Ключ метки для проверки.
          • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.operator
            строка
            Оператор для сравнения значений.

            Допустимые значения: In, NotIn, Exists, DoesNotExist

          • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.values
            массив строк
            Массив значений для сравнения. Требуется, если оператор In или NotIn.
        • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchLabels
          объект
          Метки для селектора блочных устройств.
      • spec.lvmVolumeGroupTemplate.metadata
        объект
        Метаданные ресурсов LVMVolumeGroup.
        • spec.lvmVolumeGroupTemplate.metadata.labels
          объект
          Обязательные метки для ресурсов LVMVolumeGroup.
      • spec.lvmVolumeGroupTemplate.thinPools
        массив объектов

        Желаемая конфигурация thin pool в ресурсах LVMVolumeGroup.

        Указанная конфигурация будет общей для каждого ресурса LVMVolumeGroup, созданного данным набором.

        • spec.lvmVolumeGroupTemplate.thinPools.allocationLimit
          строка
          Предел расширения thin pool.

          По умолчанию: 150%

          Шаблон: ^[1-9][0-9]{2,3}%$

        • spec.lvmVolumeGroupTemplate.thinPools.name
          строка

          Желаемое имя thin pool.

          Это поле неизменяемое.

        • spec.lvmVolumeGroupTemplate.thinPools.size
          строка или число

          Желаемый размер thin pool. Может быть указан как в численном формате, так и в процентах от общего размера группы томов.

          При указании размера в процентах thin pool будет автоматически расширен при расширении группы томов.

          Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

      • spec.lvmVolumeGroupTemplate.type
        строка

        Обязательный параметр

        Тип группы томов в ресурсах LVMVolumeGroup.

        Возможные значения:

        • Local — локальная группа томов; используемые устройства не являются распределёнными (не Shared LUN).

        Допустимые значения: Local

    • spec.nodeSelector
      объект

      Обязательный параметр

      Селектор узлов, которые будут использованы ресурсами LVMVolumeGroup.
      • spec.nodeSelector.matchExpressions
        массив объектов
        Выражения для селектора узлов.
        • spec.nodeSelector.matchExpressions.key
          строка
          Ключ метки для проверки.
        • spec.nodeSelector.matchExpressions.operator
          строка
          Оператор для сравнения значений.

          Допустимые значения: In, NotIn, Exists, DoesNotExist

        • spec.nodeSelector.matchExpressions.values
          массив строк
          Массив значений для сравнения. Требуется, если оператор In или NotIn.
      • spec.nodeSelector.matchLabels
        объект
        Метки для селектора узлов.
    • spec.strategy
      строка

      Обязательный параметр

      Стратегия (правило) создания ресурсов LVMVolumeGroup данным набором.

      Допустимые значения: PerNode