Доступно в редакциях:  EE

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

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

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

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

    Пример:

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

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

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

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

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

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

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

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

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

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

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

    Пример:

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

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

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

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

    d8 k edit mc sds-object

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

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

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

    d8 k apply -f <FILENAME>

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

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

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

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

Требования

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

Параметры

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

  • settings
    объект
    • settings.controller
      объект
      Settings of the sds-object-controller (reconciler for ObjectStore, Bucket, BucketAccess and BucketClaimPolicy CRs).

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

      • settings.controller.resourcesManagement
        sds-object-controller resources management options.

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

        Пример:

        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
          строка
          The mode for managing resource requests. Classical Static requests/limits or VPA.

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

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

        • settings.controller.resourcesManagement.static
          объект
          Static resource management settings.
          • settings.controller.resourcesManagement.static.limits
            объект
            Resource limits for the controller pod.
            • settings.controller.resourcesManagement.static.limits.cpu
              CPU limit.
            • settings.controller.resourcesManagement.static.limits.memory
              Memory limit.
          • settings.controller.resourcesManagement.static.requests
            объект
            Resource requests for the controller pod.
            • settings.controller.resourcesManagement.static.requests.cpu
              CPU request.
            • settings.controller.resourcesManagement.static.requests.memory
              Memory request.
        • settings.controller.resourcesManagement.vpa
          объект
          Parameters of the VPA mode.

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

          • settings.controller.resourcesManagement.vpa.cpu
            объект
            CPU-related parameters.

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

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

              Coefficient used to calculate the initial CPU limit from the request.

              VPA preserves the resulting limits/requests ratio during further resource tuning.

            • settings.controller.resourcesManagement.vpa.cpu.max
              Maximum allowed CPU requests.

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

            • settings.controller.resourcesManagement.vpa.cpu.min
              Minimum allowed CPU requests.

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

          • settings.controller.resourcesManagement.vpa.memory
            объект
            Memory-related parameters.

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

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

              Coefficient used to calculate the initial memory limit from the request.

              VPA preserves the resulting limits/requests ratio during further resource tuning.

            • settings.controller.resourcesManagement.vpa.memory.max
              Maximum allowed memory requests.

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

            • settings.controller.resourcesManagement.vpa.memory.min
              Minimum allowed memory requests.

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

          • settings.controller.resourcesManagement.vpa.mode
            строка
            The VPA usage mode.

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

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

    • settings.logLevel
      строка
      Уровень логирования модуля.

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

      Допустимые значения: ERROR, WARN, INFO, DEBUG, TRACE

    • settings.nodeSelector
      объект

      The same as in the Pods’ spec.nodeSelector parameter in Kubernetes. Applies to the module service Pods (controller, webhooks). If the parameter is omitted or false, nodeSelector will be determined automatically.

      Note: this does not control placement of object storage data planes — that is configured per cluster via ObjectStore.spec.placement.

    • settings.systemBucket
      объект
      Встроенное системное объектное хранилище: ObjectStore типа System (Garage на control-plane узлах) и бакет system для нужд платформы. Работает в трёх репликах с фактором репликации 3 независимо от числа control-plane узлов, если параметр singleReplica не сводит его к одной реплике.

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

      • settings.systemBucket.enabled
        булевый
        Разворачивать ли системный ObjectStore и его бакет system. Отключите, если встроенное объектное хранилище платформе не нужно.

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

      • settings.systemBucket.singleReplica
        булевый

        Запускать системный ObjectStore в одной реплике Garage (replication_factor: 1) вместо трёх по умолчанию.

        Реплика размещается на одном control-plane узле и никогда не переезжает между мастерами: её данные лежат на локальном томе этого узла, а дореплицироваться не с чего — второй копии нет. Если узел выведен или недоступен, системное хранилище недоступно до его возвращения (данные на его диске не затрагиваются), и контроллер не будет переносить реплику.

        Режим нужен, чтобы уменьшить потребление ресурсов системным хранилищем на небольших и непродуктивных инсталляциях. Не используйте его там, где данные платформы в бакете system должны переживать потерю control-plane узла.

        Включение и выключение параметра пересоздаёт системный ObjectStore и УНИЧТОЖАЕТ все хранящиеся в нём данные. Garage не умеет менять фактор репликации на живом кластере, поэтому контроллер сносит data plane (StatefulSet, тома, идентичности нод) и поднимает его пустым на новых каталогах — в обе стороны (и при включении, и при выключении). Бакеты создаются заново, ключи доступа перевыпускаются автоматически, но объекты теряются: сохраните нужные данные заранее. Каталоги предыдущего кластера остаются на control-plane узлах в /var/lib/deckhouse/sds-object/garage/system и могут быть удалены вручную, когда перестанут быть нужны.

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

    • settings.tolerations
      массив объектов
      The same as in the Pods’ spec.tolerations parameter in Kubernetes. Applies to the module service Pods (controller, webhooks). If the parameter is omitted or false, tolerations will be determined automatically.
      • settings.tolerations.effect
        строка
        Taint effect the toleration matches. An empty value matches any effect.

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

      • settings.tolerations.key
        строка
        Taint key the toleration applies to. An empty key with operator: Exists matches any taint.
      • settings.tolerations.operator
        строка
        Operator that defines how key and value are matched.

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

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

        Duration in seconds the toleration tolerates the taint after it is added.

        Applies only when effect is NoExecute. Unset means tolerate forever.

      • settings.tolerations.value
        строка
        Taint value the toleration matches. Required when operator is Equal.