Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки

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

LocalStorageClass

Short names: lsc

Scope: Cluster
Version: v1alpha1

LocalStorageClass — пользовательский ресурс Kubernetes, определяющий конфигурацию для Kubernetes StorageClass.
  • spec
    объект
    Определяет конфигурацию Kubernetes StorageClass.
    • spec.fsType
      строка
      Тип файловой системы для StorageClass.

      По умолчанию: ext4

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

    • spec.lvm
      объект

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

      Конфигурация LVM.
      • spec.lvm.lvmVolumeGroups
        массив объектов

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

        Список записей, отбирающих ресурсы LVMVolumeGroup, на которых создаются PersistentVolume.

        Каждая запись отбирает LVMVolumeGroup либо по имени (name), либо по лейблам (labelSelector). В записи должно быть задано ровно одно из этих полей, и весь список должен использовать один тип записей — либо только name, либо только labelSelector, без смешивания. Запись с labelSelector контроллер вычисляет (resolve — разрешает) в каждый подходящий LVMVolumeGroup и поддерживает в актуальном состоянии при добавлении, удалении или перелейблировании (изменении лейблов) LVMVolumeGroup. В name-based записях каждый LVMVolumeGroup может быть указан не более одного раза. Пересекающиеся labelSelector, разрешающиеся в один LVMVolumeGroup, сворачиваются при совпадении thin.poolName и отклоняются при конфликте thin pool.

        • spec.lvm.lvmVolumeGroups.labelSelector
          объект
          Селектор по лейблам, отбирающий один или несколько ресурсов LVMVolumeGroup. Взаимоисключающий с name.
          • spec.lvm.lvmVolumeGroups.labelSelector.matchExpressions
            массив объектов
            Список требований к лейблам. Требования объединяются логическим И (AND).
            • spec.lvm.lvmVolumeGroups.labelSelector.matchExpressions.key
              строка
              Ключ лейбла, к которому применяется требование.
            • spec.lvm.lvmVolumeGroups.labelSelector.matchExpressions.operator
              строка
              Оператор, задающий отношение ключа к набору значений. Допустимые операторы — In, NotIn, Exists и DoesNotExist.
            • spec.lvm.lvmVolumeGroups.labelSelector.matchExpressions.values
              массив строк
              Массив строковых значений. Для операторов In и NotIn массив должен быть непустым, для Exists и DoesNotExist — пустым.
          • spec.lvm.lvmVolumeGroups.labelSelector.matchLabels
            объект
            Карта пар {ключ, значение}. Одна пара {ключ, значение} в matchLabels эквивалентна элементу matchExpressions с полем key, равным «ключ», оператором In и массивом values, содержащим единственное значение «значение».
        • spec.lvm.lvmVolumeGroups.name
          строка
          Имя ресурса LVMVolumeGroup. Взаимоисключающее с labelSelector.

          Максимальная длина: 253

        • spec.lvm.lvmVolumeGroups.thin
          объект
          Thin pool, используемый для LVMVolumeGroup, отобранных этой записью. Обязателен при type: Thin, запрещён при type: Thick.
          • spec.lvm.lvmVolumeGroups.thin.poolName
            строка

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

            Имя thin pool.

            Длина: 1..253

            Шаблон: ^.*$

      • spec.lvm.thick
        объект
        Настройки для Logical Volumes в ресурсе LVMVolumeGroup.
        • spec.lvm.thick.contiguous
          булевый

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

          Внимание: используйте этот флаг с осторожностью. Он может привести к неправильному планированию подов, использующих PersistentVolume. Шедулер проверяет свободное место в VG и выбирает узлы с наибольшим количеством свободного места, но не может определить максимальное количество последовательного свободного места. В результате под может быть запланирован на узел, где том не сможет быть создан из-за недостатка последовательного свободного места. В таком случае потребуется ручное вмешательство администратора.

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

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

        Тип выделения ресурсов для логических томов LVM (LV), создаваемых для PersistentVolume (PV).

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

      • spec.lvm.volumeCleanup
        строка

        Метод очистки тома после удаления PersistentVolume.

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

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

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

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

    • spec.reclaimPolicy
      строка

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

      Политика освобождения ресурсов для StorageClass. Возможные значения:

      • Delete — при удалении PersistentVolumeClaim также удаляются PersistentVolume и связанное хранилище;
      • Retain — при удалении PersistentVolumeClaim остаются PersistentVolume и связанное хранилище.

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

    • spec.volumeBindingMode
      строка

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

      Режим привязки томов для StorageClass. Возможные значения:

      • Immediate — создаёт PersistentVolume сразу после создания PersistentVolumeClaim;
      • WaitForFirstConsumer — создаёт PersistentVolume только после создания пода, использующего PersistentVolumeClaim.

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

  • status
    объект
    Текущее состояние StorageClass.
    • status.conditions
      массив объектов
      Последние наблюдения состояния ресурса. Тип условия: Ready.
      • status.conditions.lastTransitionTime
        строка
        Время последней смены статуса этого условия. Не обновляется, если изменились только reason или message.
      • status.conditions.message
        строка
        Человекочитаемое пояснение текущего статуса.

        Максимальная длина: 32768

      • status.conditions.observedGeneration
        целочисленный
        Значение metadata.generation, для которого это условие было выставлено.

        Допустимые значения: 0 <= X

      • status.conditions.reason
        строка
        Машиночитаемая причина текущего статуса, пригодная для фильтрации логов и алертинга.

        Длина: 1..1024

        Шаблон: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$

      • status.conditions.status
        строка
        Текущий статус условия.

        Допустимые значения: True, False, Unknown

      • status.conditions.type
        строка
        Тип условия. Ready принимает значение True, когда StorageClass создан и LVMVolumeGroups разрешены, и False — если проход reconcile завершился ошибкой (reason: ReconcileFailed) или ресурс удаляется (reason: Deleting). Пока контроллер не обработал ресурс в первый раз, условие отсутствует, а не имеет значение Unknown.

        Максимальная длина: 316

        Шаблон: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$

    • status.observedGeneration
      целочисленный
      Значение metadata.generation, которое контроллер обработал последним. Если оно отстаёт от metadata.generation, значит контроллер ещё не обработал последнее изменение спецификации, и условия ниже описывают предыдущее состояние.
    • status.phase
      строка

      Текущее состояние StorageClass. Возможные значения:

      • Failed — контроллер получил некорректную конфигурацию или возникли ошибки в ходе выполнения операций;
      • Created — все операции завершились успешно.

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

    • status.reason
      строка
      Дополнительная информация о текущем состоянии StorageClass.