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

У модуля есть требования для установки

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

NFSStorageClass

Short names: nsc

Scope: Cluster
Version: v1alpha1

Интерфейс управления StorageClass для CSI-драйвера nfs.csi.k8s.io.

Ручное создание StorageClass для данного драйвера запрещено.

  • spec
    объект
    Определяет конфигурацию StorageClass.
    • spec.chmodPermissions
      строка
      Права для chmod, которые будут применены к субдиректории тома в NFS-разделе.

      Шаблон: ^[0-7]{3,4}$

    • spec.connection
      объект

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

      Настройки NFS-сервера.
      • spec.connection.host
        строка

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

        Адрес NFS-сервера.

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

      • spec.connection.mtls
        булевый

        Доступно в редакциях SE, SE+, EE, FE.

        Использовать ли mTLS — требует, чтобы TLS был включён.

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

      • spec.connection.nfsVersion
        строка

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

        Версия NFS.

        Допустимые значения: 3, 4.1, 4.2

      • spec.connection.share
        строка

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

        Путь к точке монтирования на NFS-сервере.

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

      • spec.connection.tls
        булевый

        Доступно в редакциях SE, SE+, EE, FE.

        Использовать ли TLS для подключения.

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

    • spec.mountOptions
      объект
      Опции монтирования.
      • spec.mountOptions.mountMode
        строка
        Режим монтирования NFS-раздела.

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

      • spec.mountOptions.readOnly
        булевый
        Монтирование в режиме «только чтение» (read-only).
      • spec.mountOptions.retransmissions
        целочисленный
        Количество повторных попыток клиента NFS выполнить запрос, прежде чем он предпримет дальнейшие действия по восстановлению соединения.

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

      • spec.mountOptions.timeout
        целочисленный

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

        Например, 600 — это 60 секунд.

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

    • spec.reclaimPolicy
      строка

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

      Задаёт режим поведения при удалении PersistentVolumeClaim (PVC).

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

      • Delete — при удалении PVC также удаляется связанный PersistentVolume (PV) и соответствующие данные на NFS-сервере;
      • Retain — при удалении PVC связанные PersistentVolume и данные на NFS-сервере не удаляются и требуют ручного удаления пользователем. Подробнее в документации Kubernetes.

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

    • spec.volumeBindingMode
      строка

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

      Задаёт режим создания тома.

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

      • Immediate — том создаётся сразу после создания PVC;
      • WaitForFirstConsumer — том создаётся только при первом использовании PVC со стороны пода. Подробнее в документации Kubernetes.

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

    • spec.volumeCleanup
      строка

      Функция доступна в Enterprise Edition.

      Метод очистки содержимого субдиректории PV перед удалением.

      Если параметр не задан, драйвер NFS CSI удаляет каталог, созданный для PV на NFS-сервере, без очистки данных. Если параметр задан, драйвер стирает каждый файл в каталоге PV.

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

      • Discard — используется функция Discard (trim) файловой системы для освобождения блоков данных (эта опция доступна только если она поддерживается, например, в NFSv4.2);
      • RandomFillSinglePass — перед удалением содержимое каждого файла перезаписывается случайными данными один раз. Реализуется путём вызова утилиты shred;
      • RandomFillThreePass — перед удалением содержимое каждого файла перезаписывается случайными данными три раза. Реализуется путём вызова утилиты shred.

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

    • spec.workloadNodes
      объект
      • spec.workloadNodes.nodeSelector
        объект

        Селектор узлов для определения правил выбора узлов, на которых Persistent Volumes (PVs), созданные этим StorageClass, могут подключаться.

        Комбинирует простое сопоставление лейблов и сложные выражения для фильтрации узлов.

        Если этот параметр пропущен, общие ресурсы NFS можно монтировать на любом узле кластера, работающем под управлением ОС Linux.

        • spec.workloadNodes.nodeSelector.matchExpressions
          массив объектов

          Список сложных условий выбора узлов.

          Каждое условие задаёт ключ, оператор и, при необходимости, значения для фильтрации узлов на основе их лейблов или других полей.

          • spec.workloadNodes.nodeSelector.matchExpressions.key
            строка
            Ключ лейбла, к которому применяется требование.
          • spec.workloadNodes.nodeSelector.matchExpressions.operator
            строка
            Оператор, применяемый к ключу.

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

          • spec.workloadNodes.nodeSelector.matchExpressions.values
            массив строк
            Список строковых значений. Обязателен для операторов вида In и NotIn, игнорируется для Exists и DoesNotExist.
        • spec.workloadNodes.nodeSelector.matchLabels
          объект

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

          Узлы, которые не соответствуют хотя бы одному из указанных лейблов, будут исключены.

  • 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, секрет с параметрами монтирования и VolumeSnapshotClass созданы, False — если проход reconcile завершился ошибкой, и 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 — StorageClass создан успешно.

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

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