Модуль находится в процессе активного развития. Функциональность может существенно измениться.

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

ReplicatedStorageClass

Scope: Cluster
Version: v1alpha1

Интерфейс управления StorageСlass для CSI-драйвера replicated.csi.storage.deckhouse.io. Ручное создание StorageClass для данного драйвера запрещено.
  • spec объект

    Defines a Kubernetes Storage class configuration.

    Note that this field is in read-only mode.

    • spec.isDefault булевый
      Назначить ли дочерний StorageClass классом по умолчанию.

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

    • spec.reclaimPolicy строка

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

      Reclaim policy дочернего StorageClass. Может быть:

      • Delete (если PersistentVolumeClaim будет удален, вместе с ним удалится соответствующий PersistentVolume)
      • Retain (если PersistentVolumeClaim будет удален, соответствующий PersistentVolume останется нетронутым в статусе Released)

      Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.

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

    • spec.replication строка

      Режим репликации StorageClass. Может быть:

      • None — в этом режиме репликация отключена, и данные существуют только в одном экземпляре.
      • Availability — режим репликации, при котором том остается доступным для чтения и записи, даже если одна из реплик тома становится недоступной. Данные хранятся в двух экземплярах на разных узлах. Этот режим предотвращает потерю данных при выходе из строя одного узла, содержащего реплику тома. Однако, если после этого будет безвозвратно потерян оставшийся (активный) узел, данные записанные на этот узел (с момента выхода из строя первого) будут потеряны.
      • ConsistencyAndAvailability — режим репликации, при котором том остается доступным для чтения и записи, даже если одна из реплик тома становится недоступной. Данные хранятся в трех экземплярах на разных узлах. Этот режим обеспечивает защиту от потери данных при выходе из строя двух узлов, содержащих реплики тома. Однако при потере двух реплик том переходит в режим только для чтения (Read-Only).

      Обратите внимание, что режимом репликации по умолчанию является ‘ConsistencyAndAvailability’. Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.

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

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

    • spec.storagePool строка

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

      Имя Storage Pool в бэкенде LINSTOR.
    • spec.topology строка

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

      Настройки топологии для томов в создаваемом StorageClass. Может быть:

      • TransZonal — реплики для томов будут создаваться в разных зонах (по одной реплике на зону). Для использования этой топологии доступные зоны должны быть указаны в параметре zones, а на узлах кластера должен присутствовать лейбл topology.kubernetes.io/zone=<название зоны>.
      • Zonal — все реплики томов создаются в той же зоне, которую планировщик выбрал для размещения пода, использующего данный том. Рекомендуется использовать эту топологию в условиях высокого пинга и/или низкой пропускной способности сети между зонами.
      • Ignored — для размещения реплик томов не будет использоваться информация о топологии. Реплики могут размещаться на любых доступных узлах, но с ограничением: не более одной реплики определенного тома на один узел.

      Обратите внимание, что создать StorageClass с топологией ‘Ignored’ можно только если в кластере нет зон (нет узлов с лейблами topology.kubernetes.io/zone). Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.

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

    • spec.volumeAccess строка

      Режим доступа к данным. Может быть:

      • Local — в этом режиме запрещено создание пода на узлах, на которых отсутствует локальная реплика тома, используемого этим подом.
      • EventuallyLocal — в этом режиме том будет создан сразу после появления пода и назначения ему рабочего узла. При первоначальном создании пода учитываются настройки его топологии, и локальная реплика, по возможности, будет создана на том же узле, где размещен под. Однако может возникнуть ситуация, когда под создаётся на узле, на котором отсутствует локальная реплика тома. В таком случае под будет подключен по сети к существующим репликам тома, после чего, через 30 минут, на этом узле начнется создание локальной реплики тома, включающее копирование всех данных тома по сети с других реплик на этот узел.
      • PreferablyLocal — то же, что и в EventuallyLocal, за исключением того, что под будет постоянно подключен по сети к репликам тома, если он был создан на узле, где отсутствует локальная реплика тома (локальная реплика на этом узле создаваться не будет).
      • Any — в этом режиме том будет создан до появления пода и может быть размещен на любом доступном узле без учета настроек топологии у пода, который будет использовать его в будущем. В случае, если под создан на узле, где отсутствует локальная реплика тома, под будет постоянно подключен по сети к репликам тома.

      Обратите внимание, что режимом доступа по умолчанию является ‘PreferablyLocal’.

      Важно: при использовании настроек EventuallyLocal, PreferablyLocal и Any доступ к данным по сети разрешен только в пределах одной зоны. Запрещено создание пода в зоне, где отсутствует реплика тома.

      Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.

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

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

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

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

      Обратите внимание, что для режимов репликации ‘Availability’ и ‘ConsistencyAndAvailability’ вам необходимо указать 3 зоны, если выбрана топология TransZonal. Обратите внимание, что данный параметр является обязательным, если выбрана топология TransZonal. Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.

ReplicatedStoragePool

Scope: Cluster
Version: v1alpha1

Интерфейс для управления Storage Pool в бэкенде LINSTOR.
  • spec объект
    Defines desired rules for Linstor’s Storage-pools.
    • spec.lvmVolumeGroups массив объектов

      Список LVMVolumeGroup-ресурсов, Volume Group’ы/Thin-pool’ы которых будут использованы для создания Storage-pool’ов в бэкенде LINSTOR.

      Обратите внимание, что каждый LVMVolumeGroup-ресурс обязан иметь тот же тип (Thin/Thick), что указан в поле ‘Spec.Type’ текущего ресурса.

      • spec.lvmVolumeGroups.name строка
        Имя ресурса LVMVolumeGroup.
      • spec.lvmVolumeGroups.thinPoolName строка
        Имя выбранного Thin-pool в рамках указанного LVMVolumeGroup. Обязательное поле если вы создаёте ReplicatedStoragePool с типом LVMThin.
    • spec.type строка

      Определяет тип Volume’ов. Может быть:

      • LVM (для классических LVM-томов)
      • LVMThin (для Thin-томов)

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