Доступно в редакциях:  CE, BE, SE, SE+, EE, CSE Lite (1.73), CSE Pro (1.73)

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

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

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

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

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

    Пример:

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

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

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

    d8 system module enable extended-monitoring
  • С помощью ModuleConfig extended-monitoring.

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

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

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: extended-monitoring
    spec:
      enabled: true

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

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

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

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

    Пример:

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

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

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

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

    d8 k edit mc extended-monitoring

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

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

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

    d8 k apply -f <FILENAME>

    Пример файла манифеста ModuleConfig extended-monitoring:

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

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

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

Требования

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

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

  • prometheus: любая версия.

Конверсии

Модуль настраивается с помощью ресурса ModuleConfig, схема которого содержит номер версии. При применении в кластере старой версии схемы ModuleConfig выполняются автоматические преобразования. Чтобы обновить версию схемы ModuleConfig вручную, необходимо последовательно для каждой версии выполнить следующие действия:

  • Обновление из версии 1 в 2:

    Если для поля .imageAvailability.skipRegistryCertVerification установлено значение true, добавьте поле .imageAvailability.registry.tlsConfig.insecureSkipVerify=true. После этого удалите поле .imageAvailability.skipRegistryCertVerification из объекта. Если в результате объект .imageAvailability становится пуст, удалите его.

Параметры

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

  • settings
    объект
    • settings.certificates
      объект
      Настройки для мониторинга сертификатов в кластере Kubernetes.

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

      • settings.certificates.exporterEnabled
        булевый
        Включает x509-certificate-exporter.

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

    • settings.events
      объект
      Настройки для мониторинга событий в кластере Kubernetes.

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

      • settings.events.exporterEnabled
        булевый
        Включает eventsExporter.

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

      • settings.events.severityLevel
        строка
        Настройка уровня логирования.

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

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

    • settings.imageAvailability
      объект
      Настройки для мониторинга доступности образов в кластере.

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

      • settings.imageAvailability.awsRegion
        строка
        Регион AWS для аутентификации в ECR.

        Пример:

        awsRegion: eu-central-1
        
      • settings.imageAvailability.defaultRegistry
        строка

        Стандартное хранилище образов контейнеров для проверки доступности образов.

        Используется, если в образе не указано хранилище образов контейнеров.

        По умолчанию: index.docker.io

      • settings.imageAvailability.exporterEnabled
        булевый
        Включён ли imageAvailabilityExporter.

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

      • settings.imageAvailability.forceCheckDisabledControllers
        массив строк

        Список контроллеров, которые необходимо проверять, даже если количество реплик подов равняется 0 или контроллер находится в статусе suspend (приостановленный).

        Укажите All для проверки всех типов контроллеров.

        Пример:

        forceCheckDisabledControllers:
        - Deployment
        - StatefulSet
        
        • settings.imageAvailability.forceCheckDisabledControllers.Элемент массива
          строка

          Допустимые значения: Deployment, StatefulSet, DaemonSet, CronJob, All

      • settings.imageAvailability.ignoredImages
        массив строк
        Список образов, для которых нужно пропустить проверку, например alpine:3.12 или quay.io/test/test:v1.1.

        Пример:

        ignoredImages:
        - alpine:3.10
        - alpine:3.2
        
      • settings.imageAvailability.imageCheckInterval
        строка

        Интервал запросов в хранилище образов контейнеров для проверки доступности образа.

        Поддерживаемый формат — Go-style duration (10s, 10m, 10h).

        По умолчанию: 60s

      • settings.imageAvailability.mirrors
        массив объектов
        Список зеркал для хранилища образов контейнеров.

        Пример:

        mirrors:
        - mirror: mirror.gcr.io
          original: docker.io
        - mirror: mirror.internal-registry.com
          original: internal-registry.com
        
        • settings.imageAvailability.mirrors.mirror
          строка
          Hostname зеркала хранилища образов контейнеров, которое используется вместо original, например mirror.gcr.io.
        • settings.imageAvailability.mirrors.original
          строка
          Hostname исходного хранилища образов контейнеров, которое нужно заменить зеркалом, например docker.io.
      • settings.imageAvailability.registry
        объект
        Настройки подключения к хранилищу образов контейнеров.

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

        • settings.imageAvailability.registry.scheme
          строка
          Протокол доступа к хранилищу образов контейнеров.

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

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

        • settings.imageAvailability.registry.tlsConfig
          объект
          Настройки TLS для подключения к хранилищу образов контейнеров.

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

          • settings.imageAvailability.registry.tlsConfig.ca
            строка
            Корневой сертификат, которым можно проверить сертификат хранилища образов контейнеров при работе по HTTPS (если хранилище использует самоподписанные SSL-сертификаты).
          • settings.imageAvailability.registry.tlsConfig.insecureSkipVerify
            булевый
            Пропускать ли валидацию TLS-сертификата хранилища образов контейнеров.

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

    • settings.nodeSelector
      объект

      Структура, аналогичная spec.nodeSelector пода Kubernetes.

      Если значение не указано или указано false, будет использоваться выделение узлов под определённый вид нагрузки.

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

      Структура, аналогичная spec.tolerations пода Kubernetes.

      Если значение не указано или указано false, будет использоваться выделение узлов под определённый вид нагрузки.

      • settings.tolerations.effect
        строка

        Эффект taint, которому должна соответствовать toleration. Пустое значение соответствует всем эффектам.

        Может быть:

        • NoSchedule — не планировать новые поды на узел, если они не толерируют taint;
        • PreferNoSchedule — по возможности не планировать новые поды на узел, но не запрещать это жёстко;
        • NoExecute — вытеснять поды, которые не толерируют taint; поды с подходящей toleration могут остаться.
      • settings.tolerations.key
        строка

        Ключ taint, к которому применяется toleration. Пустое значение соответствует всем ключам.

        Если key пустой, operator должен быть Exists.

      • settings.tolerations.operator
        строка

        Как key соотносится с value. По умолчанию — Equal.

        Может быть:

        • Equal — совпадение и по key, и по value;
        • Exists — совпадение только по key; value должен быть пустым.
      • settings.tolerations.tolerationSeconds
        целочисленный

        Сколько секунд под может оставаться на узле после добавления подходящего taint с эффектом NoExecute.

        Используется только вместе с effect: NoExecute. Если не указано, taint толерируется бессрочно. Ноль и отрицательные значения означают немедленное вытеснение.

      • settings.tolerations.value
        строка

        Значение taint для сопоставления.

        Должно быть пустым, если operator равен Exists.