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

Как явно включить или отключить модуль…

Явно включить или выключить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse. В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль sds-elastic, включите (или выключите) переключатель «Модуль включен». Сохраните изменения.

    Пример:

    Интерфейс включения и выключения модуля
  • С помощью Deckhouse CLI (d8).

    Используйте команду d8 system module enable для включения модуля, или d8 system module disable для выключения модуля (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Пример включения модуля sds-elastic:

    d8 system module enable sds-elastic
  • С помощью ModuleConfig sds-elastic.

    Установите spec.enabled в true или false в ModuleConfig sds-elastic (создайте его, при необходимости).

    Пример манифеста для включения модуля sds-elastic:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: sds-elastic
    spec:
      enabled: true

Как настроить модуль…

Настроить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse.

    В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль sds-elastic, включите переключатель «Дополнительные настройки». Заполните необходимые поля формы на вкладке «Конфигурация», или укажите настройки модуля в формате YAML на вкладке «YAML», не включая секцию settings. Сохраните изменения.

    Пример:

    Интерфейс настройки модуля

    Вы также можете отредактировать объект ModuleConfig sds-elastic на вкладке «YAML» в окне настроек модуля («Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль sds-elastic), указав версию схемы в параметре spec.version и необходимые параметры модуля в секции spec.settings.

  • С помощью Deckhouse CLI (d8) (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Отредактируйте существующий ModuleConfig sds-elastic (подробнее о настройке Deckhouse читайте в документации), выполнив следующую команду:

    d8 k edit mc sds-elastic

    Внесите необходимые изменения в секцию spec.settings. При необходимости укажите версию схемы в параметре spec.version. Сохраните изменения.

    Вы также можете создать файл манифеста ModuleConfig sds-elastic, используя пример ниже. Заполните секцию spec.settings необходимыми параметрами модуля. При необходимости укажите версию схемы в параметре spec.version.

    Примените манифест с помощью следующей команды (укажите имя файла манифеста):

    d8 k apply -f <FILENAME>

    Пример файла манифеста ModuleConfig sds-elastic:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: sds-elastic
    spec:
      version: 1
      enabled: true
      settings: # Параметры модуля из раздела "Параметры" ниже.

Как сменить канал обновлений модуля…

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

Требования

К версии Deckhouse: 1.72 и выше.

К версиям других модулей:

  • csi-ceph: 0.5.26 и выше.
  • sds-node-configurator: 0.6.8 и выше.

Параметры

Версия схемы: 1

  • settings
    объект
    • settings.controller
      объект
      Настройки контроллера sds-elastic (reconciler для CR ElasticCluster, ElasticStorageClass и ElasticClusterCredential).

      По умолчанию: {}

      • settings.controller.resourcesManagement
        Настройки управления ресурсами контроллера sds-elastic. Имеет ту же структуру, что и resourcesManagement оператора Rook ниже.

        По умолчанию: {}

        Пример:


        mode: VPA
        vpa:
          cpu:
            limitRatio: 1.5
            max: 200m
            min: 50m
          memory:
            limitRatio: 1.5
            max: 256Mi
            min: 64Mi
          mode: Auto
        
        • settings.controller.resourcesManagement.mode
          строка
          Режим управления запросами ресурсов: классические Static requests/limits или VPA.

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

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

        • settings.controller.resourcesManagement.static
          объект
          Настройки статического управления ресурсами.
          • settings.controller.resourcesManagement.static.limits
            объект
            Лимиты ресурсов для пода контроллера.
            • settings.controller.resourcesManagement.static.limits.cpu
              Лимит CPU.
            • settings.controller.resourcesManagement.static.limits.memory
              Лимит памяти.
          • settings.controller.resourcesManagement.static.requests
            объект
            Запросы ресурсов для пода контроллера.
            • settings.controller.resourcesManagement.static.requests.cpu
              Запрос CPU.
            • settings.controller.resourcesManagement.static.requests.memory
              Запрос памяти.
        • settings.controller.resourcesManagement.vpa
          объект
          Параметры режима VPA.

          По умолчанию: {}

          • settings.controller.resourcesManagement.vpa.cpu
            объект
            Параметры управления ресурсами CPU.

            По умолчанию: {}

            • settings.controller.resourcesManagement.vpa.cpu.limitRatio
              число

              Коэффициент для вычисления начального CPU-лимита из запроса.

              VPA сохраняет полученное соотношение лимита и запроса при дальнейшей настройке ресурсов.

            • settings.controller.resourcesManagement.vpa.cpu.max
              Максимально допустимое значение CPU-запроса.

              По умолчанию: 200m

            • settings.controller.resourcesManagement.vpa.cpu.min
              Минимально допустимое значение CPU-запроса.

              По умолчанию: 50m

          • settings.controller.resourcesManagement.vpa.memory
            объект
            Параметры управления потреблением памяти.

            По умолчанию: {}

            • settings.controller.resourcesManagement.vpa.memory.limitRatio
              число

              Коэффициент для вычисления начального лимита памяти из запроса.

              VPA сохраняет полученное соотношение лимита и запроса при дальнейшей настройке ресурсов.

            • settings.controller.resourcesManagement.vpa.memory.max
              Максимально допустимое значение запроса памяти.

              По умолчанию: 256Mi

            • settings.controller.resourcesManagement.vpa.memory.min
              Минимально допустимое значение запроса памяти.

              По умолчанию: 64Mi

          • settings.controller.resourcesManagement.vpa.mode
            строка
            Режим работы VPA.

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

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

    • settings.dataNodes
      объект

      Настройки выбора узлов Kubernetes, на которых может располагаться data (данные) sds-elastic.

      sds-elastic проставляет лейбл storage.deckhouse.io/sds-elastic-node="" на каждый узел, подходящий под dataNodes.nodeSelector, и удаляет этот лейбл с узлов, переставших ему соответствовать. Downstream-компоненты (агент sds-node-configurator, размещение ElasticCluster) используют этот лейбл как nodeAffinity (правило сродства подов с узлами).

      По умолчанию: {}

      • settings.dataNodes.nodeSelector
        объект

        Аналог spec.nodeSelector в Kubernetes Pods: набор лейблов узла, одновременно совпадающих по которым узел считается data-нодой.

        Если параметр не задан, пустой селектор соответствует всем узлам кластера.

        Внимание! Изменение этого параметра не приводит к перераспределению данных. Если узел с данными перестал соответствовать селектору, с него снимается лейбл storage.deckhouse.io/sds-elastic-node, и данные на этом узле становятся недоступными до тех пор, пока узел не вернётся под селектор.

        По умолчанию: {}

    • settings.nodeSelector
      объект

      Аналог spec.nodeSelector в Kubernetes Pods.

      Если параметр не задан или имеет значение false, nodeSelector определяется автоматически.

    • settings.resourcesManagement
      Настройки управления ресурсами оператора Rook Ceph.

      По умолчанию: {}

      Примеры:


      mode: VPA
      vpa:
        cpu:
          limitRatio: 1.5
          max: 250m
          min: 50m
        memory:
          limitRatio: 1.5
          max: 512Mi
          min: 256Mi
        mode: Auto
      
      mode: Static
      static:
        limits:
          cpu: 250m
          memory: 512Mi
        requests:
          cpu: 55m
          memory: 256Mi
      
      • settings.resourcesManagement.mode
        строка
        Режим управления запросами ресурсов: классические Static requests/limits или VPA.

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

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

      • settings.resourcesManagement.static
        объект
        Настройки статического управления ресурсами.
        • settings.resourcesManagement.static.limits
          объект
          Конфигурация лимитов ресурсов.
          • settings.resourcesManagement.static.limits.cpu
            Лимит CPU.
          • settings.resourcesManagement.static.limits.memory
            Лимит памяти.
        • settings.resourcesManagement.static.requests
          объект
          Конфигурация запросов ресурсов.
          • settings.resourcesManagement.static.requests.cpu
            Запрос CPU.
          • settings.resourcesManagement.static.requests.memory
            Запрос памяти.
      • settings.resourcesManagement.vpa
        объект
        Параметры режима VPA.

        По умолчанию: {}

        • settings.resourcesManagement.vpa.cpu
          объект
          Параметры управления ресурсами CPU.

          По умолчанию: {}

          • settings.resourcesManagement.vpa.cpu.limitRatio
            число

            Коэффициент для вычисления начального CPU-лимита из запроса.

            VPA сохраняет полученное соотношение лимита и запроса при дальнейшей настройке ресурсов.

          • settings.resourcesManagement.vpa.cpu.max
            Максимально допустимое значение CPU-запроса.

            По умолчанию: 250m

          • settings.resourcesManagement.vpa.cpu.min
            Минимально допустимое значение CPU-запроса.

            По умолчанию: 50m

        • settings.resourcesManagement.vpa.memory
          объект
          Параметры управления потреблением памяти.

          По умолчанию: {}

          • settings.resourcesManagement.vpa.memory.limitRatio
            число

            Коэффициент для вычисления начального лимита памяти из запроса.

            VPA сохраняет полученное соотношение лимита и запроса при дальнейшей настройке ресурсов.

          • settings.resourcesManagement.vpa.memory.max
            Максимально допустимое значение запроса памяти.

            По умолчанию: 512Mi

          • settings.resourcesManagement.vpa.memory.min
            Минимально допустимое значение запроса памяти.

            По умолчанию: 256Mi

        • settings.resourcesManagement.vpa.mode
          строка
          Режим работы VPA.

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

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

    • settings.tolerations
      массив объектов

      Аналог spec.tolerations в Kubernetes Pods.

      Если параметр не задан или имеет значение false, tolerations определяются автоматически.

      • settings.tolerations.effect
        строка
        Эффект taint, под который подходит toleration. Пустое значение подходит к любому эффекту.

        Допустимые значения: ‘’, NoSchedule, PreferNoSchedule, NoExecute

      • settings.tolerations.key
        строка
        Ключ taint, на который действует toleration. Пустой ключ при operator: Exists подходит к любому taint.
      • settings.tolerations.operator
        строка
        Оператор сопоставления key и value.

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

      • settings.tolerations.tolerationSeconds
        целочисленный

        Время в секундах, в течение которого toleration терпит taint после его появления.

        Применяется только при effect: NoExecute. Если не задано, toleration действует бессрочно.

      • settings.tolerations.value
        строка
        Значение taint, под которое подходит toleration. Обязательно при operator: Equal.