Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки
Работоспособность модуля гарантируется только при использовании стоковых ядер, поставляемых вместе с поддерживаемыми дистрибутивами.
Работоспособность модуля при использовании других ядер или дистрибутивов возможна, но не гарантируется.
Deckhouse Kubernetes Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.
BlockDevice
Scope: Cluster
Version: v1alpha1
Ресурс отображает актуальную информацию о доступных блочных устройствах на узлах, которые могут быть использованы контроллером sds-node-configurator для операций в LVM.
Ресурс создается и обслуживается только контроллером. Ручное изменение ресурса запрещено.
-
объектstatus
-
строкаstatus.actualVGNameOnTheNode
Фактическое имя группы томов LVM на узле, в которую включено устройство.
Опционально: присутствует только если устройство используется как физический том и включено в группу томов.
-
булевыйstatus.consumable
Обязательный параметр
Флаг, определяющий, может ли данное устройство быть использовано контроллером для создания физического тома LVM. -
строкаstatus.fsTypeТип файловой системы устройства.
Допустимые значения:
LVM2_member,‘’ -
булевыйstatus.hotPlug
Обязательный параметр
Тип подключения устройства. Может быть:
true— если устройство было подключено как съемное;false— в остальных случаях.
-
строкаstatus.lvmVolumeGroupName
Имя ресурса LVMVolumeGroup.
Опционально: присутствует только если устройство используется как физический том, включено в группу томов и указано в ресурсе LVMVolumeGroup.
-
строкаstatus.machineId
Обязательный параметр
Уникальный идентификатор машины, на которой находится устройство (обычно хранится в/etc/machine-id). -
строкаstatus.model
Модель устройства.
Опционально: может отсутствовать, если производитель не предоставляет информацию для данного типа дисков.
-
строкаstatus.nodeName
Обязательный параметр
Имя Kubernetes-узла, на котором находится устройство. -
строкаstatus.partUUID
UUID раздела.
Опционально: присутствует только если устройство является разделом.
-
строкаstatus.path
Обязательный параметр
Путь устройства на узле (/dev/sda). -
строкаstatus.pvUUID
UUID физического тома LVM.
Опционально: присутствует только если устройство используется как физический том LVM.
-
булевыйstatus.rota
Обязательный параметр
Тип носителя устройства. Может быть:
true— для HDD;false— для SSD.
-
строкаstatus.serialУникальный серийный номер устройства.
-
строкаstatus.size
Обязательный параметр
Размер устройства. -
строкаstatus.type
Обязательный параметр
Тип устройства (диск, раздел, RAID и другие). -
строкаstatus.vgUUID
UUID группы томов LVM, которой принадлежит данное устройство в качестве физического тома.
Опционально: присутствует только если устройство используется как физический том и включено в группу томов.
-
строкаstatus.wwn
Уникальный идентификатор устройства WWN (World Wide Name).
Опционально: может отсутствовать, если WWN для данного типа дисков не поддерживается производителем.
-
LVMLogicalVolume
Scope: Cluster
Version: v1alpha1
-
объект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
-
-
объектstatusОписывает состояние ресурса.
-
строкаstatus.actualSizeАктуальный размер Logical Volume на узле.
-
булевыйstatus.contiguousПоказывает, создан ли логический том с атрибутом
contiguous. -
строкаstatus.phaseТекущая фаза ресурса.
Допустимые значения:
Created,Pending,Cleaning,Resizing,Failed -
строкаstatus.reasonПричина выставленной фазы.
-
LVMLogicalVolumeSnapshot
Scope: Cluster
Version: v1alpha1
-
объектspec
-
строкаspec.actualSnapshotNameOnTheNodeИмя снимка тома на узле.
Минимальная длина:
1 -
строкаspec.lvmLogicalVolumeName
Обязательный параметр
Имя ресурса LVMLogicalVolume, с которого создается снимок.Минимальная длина:
1
-
-
объектstatusОписывает состояние ресурса.
-
строкаstatus.actualLVNameOnTheNodeФактическое имя тома на узле, с которого создан снимок.
-
строкаstatus.actualVGNameOnTheNodeФактическое имя группы томов на узле, в которой находится снимок.
-
строкаstatus.nodeNameИмя Kubernetes-узла, на котором находится снимок.
-
строкаstatus.phase
Текущая фаза ресурса.
Возможные значения:
Created— снимок создан успешно;Pending— снимок в процессе создания;Failed— ошибка при создании снимка.
Допустимые значения:
Created,Pending,Failed -
строкаstatus.reasonПричина выставленной фазы.
-
строкаstatus.sizeРазмер снимка Logical Volume на узле.
-
строкаstatus.usedSizeИспользуемый размер снимка Logical Volume на узле.
-
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
-
-
объектstatus
-
строкаstatus.allocatedSizeОбъём пространства, занимаемый в данный момент в группе томов.
-
массив объектовstatus.conditionsУсловия ресурса LVMVolumeGroup.
-
строкаstatus.conditions.lastTransitionTimeВремя последнего изменения условия.
-
строкаstatus.conditions.messageИнформация о текущем статусе.
-
целочисленныйstatus.conditions.observedGenerationВерсия ресурса, на которой было применено условие.
-
строкаstatus.conditions.reasonПричина текущего статуса.
-
строкаstatus.conditions.statusСтатус условия.
-
строкаstatus.conditions.typeТип условия.
Допустимые значения:
VGConfigurationApplied,VGReady,NodeReady,AgentReady,Ready
-
-
строкаstatus.configurationAppliedПоказывает, была ли последняя конфигурация успешно применена.
-
массив объектовstatus.nodesИнформация об узлах, на которых находится группа томов.
-
массив объектовstatus.nodes.devicesИнформация об устройствах, используемых в группе томов на текущем узле.
-
строкаstatus.nodes.devices.blockDeviceИмя соответствующего ресурса блочного устройства.
-
строкаstatus.nodes.devices.devSizeРазмер блочного устройства.
-
строкаstatus.nodes.devices.pathПуть к устройству на узле.
-
строкаstatus.nodes.devices.pvSizeРазмер физического тома.
-
строкаstatus.nodes.devices.pvUUIDUUID физического тома LVM.
-
-
строкаstatus.nodes.nameИмя узла.
-
-
строкаstatus.phaseОбщее состояние ресурса LVMVolumeGroup.
Допустимые значения:
Pending,Ready,NotReady,Terminating,‘’ -
строкаstatus.thinPoolReadyОтображает количество здоровых и общее количество thin pool.
-
массив объектовstatus.thinPools
Текущее состояние thin pool группы томов.
Может быть пустым, если в группе томов нет ни одного thin pool.
-
строкаstatus.thinPools.actualSizeЁмкость thin pool.
-
строкаstatus.thinPools.allocatedSizeОбщий размер запрошенных логических томов в thin pool.
-
строкаstatus.thinPools.allocationLimitПредел расширения thin pool.
По умолчанию:
150%Шаблон:
^[1-9][0-9]{2,3}%$ -
строкаstatus.thinPools.availableSpaceСвободное место в thin pool.
-
строкаstatus.thinPools.messageИнформация о статусе.
-
строкаstatus.thinPools.nameИмя thin pool.
-
булевыйstatus.thinPools.readyСтатус работоспособности thin pool.
-
строкаstatus.thinPools.usedSizeИспользуемый размер thin pool.
-
-
строкаstatus.vgFreeСвободное место в группе томов.
-
строкаstatus.vgSizeЁмкость группы томов.
-
строкаstatus.vgUUIDUUID группы томов.
-
LvmVolumeGroupBackup
Scope: Cluster
Version: v1alpha1
-
объект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
-
-
объектstatus
-
строкаstatus.allocatedSizeОбъём пространства, занимаемый в данный момент в группе томов.
-
массив объектовstatus.conditionsУсловия ресурса LVMVolumeGroup.
-
строкаstatus.conditions.lastTransitionTimeВремя последнего изменения условия.
-
строкаstatus.conditions.messageИнформация о текущем статусе.
-
целочисленныйstatus.conditions.observedGenerationВерсия ресурса, на которой было применено условие.
-
строкаstatus.conditions.reasonПричина текущего статуса.
-
строкаstatus.conditions.statusСтатус условия.
-
строкаstatus.conditions.typeТип условия.
Допустимые значения:
VGConfigurationApplied,VGReady,NodeReady,AgentReady,Ready
-
-
строкаstatus.configurationAppliedПоказывает, была ли последняя конфигурация успешно применена.
-
массив объектовstatus.nodesИнформация об узлах, на которых находится группа томов.
-
массив объектовstatus.nodes.devicesИнформация об устройствах, используемых в группе томов на текущем узле.
-
строкаstatus.nodes.devices.blockDeviceИмя соответствующего ресурса блочного устройства.
-
строкаstatus.nodes.devices.devSizeРазмер блочного устройства.
-
строкаstatus.nodes.devices.pathПуть к устройству на узле (например,
/dev/sda). -
строкаstatus.nodes.devices.pvSizeРазмер физического тома.
-
строкаstatus.nodes.devices.pvUUIDUUID физического тома LVM.
-
-
строкаstatus.nodes.nameИмя узла.
-
-
строкаstatus.phaseОбщее состояние ресурса LVMVolumeGroup.
Допустимые значения:
Pending,Ready,NotReady,Terminating,‘’ -
строкаstatus.thinPoolReadyОтображает количество здоровых и общее количество thin pool.
-
массив объектовstatus.thinPools
Текущее состояние thin pool группы томов.
Может быть пустым, если в группе томов нет ни одного thin pool.
-
строкаstatus.thinPools.actualSizeЁмкость thin pool.
-
строкаstatus.thinPools.allocatedSizeОбщий размер запрошенных логических томов в thin pool.
-
строкаstatus.thinPools.allocationLimitПредел расширения thin pool.
По умолчанию:
150%Шаблон:
^[1-9][0-9]{2,3}%$ -
строкаstatus.thinPools.availableSpaceСвободное место в thin pool.
-
строкаstatus.thinPools.messageИнформация о статусе.
-
строкаstatus.thinPools.nameИмя thin pool.
-
булевыйstatus.thinPools.readyСтатус работоспособности thin pool.
-
строкаstatus.thinPools.usedSizeИспользуемый размер thin pool.
-
-
строкаstatus.vgFreeСвободное место в группе томов.
-
строкаstatus.vgSizeЁмкость группы томов.
-
строкаstatus.vgUUIDUUID группы томов.
-
LVMVolumeGroupSet
Scope: Cluster
Version: v1alpha1
-
объект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
-
-
объектstatus
-
массив объектовstatus.createdLVMVolumeGroupsКраткая информация о ресурсах LVMVolumeGroup, созданных данным набором.
-
строкаstatus.createdLVMVolumeGroups.lvmVolumeGroupNameИмя созданного ресурса LVMVolumeGroup.
-
строкаstatus.createdLVMVolumeGroups.nodeNameИмя узла, на котором создан ресурс LVMVolumeGroup.
-
-
целочисленныйstatus.currentLVMVolumeGroupsCountТекущее количество ресурсов LVMVolumeGroup, созданных данным набором.
-
целочисленныйstatus.desiredLVMVolumeGroupsCountЖелаемое количество ресурсов LVMVolumeGroup, которые должны быть созданы данным набором.
-
строкаstatus.phaseФаза создания ресурсов LVMVolumeGroup.
Допустимые значения:
Created,Pending,NotCreated,‘’ -
строкаstatus.reasonПричина текущей фазы.
-