DeckhouseRelease

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию релизов Deckhouse.

  • approved
    булевый

    Разрешает или запрещает ручное обновление.

    Игнорируется, если в конфигурации модуля установлен режим обновления Auto (update.mode: Auto).

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

  • spec
    объект

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

    • spec.applyAfter
      строка

      Время, до которого отложено обновление, если релиз является частью canary-release.

    • spec.changelog
      объект

      Изменения включенных модулей в данном релизе.

    • строка

      Ссылка на страницу со всеми изменениями данного релиза.

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

      Потенциально опасные изменения в релизе.

    • spec.requirements
      объект

      Требования для установки релиза.

    • spec.version
      строка

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

      Версия Deckhouse.

      Пример:

      version: v1.24.20
      

Module

Scope: Cluster
Version: v1alpha1

Отображает базовую информацию о модуле Deckhouse.

Ресурс предназначен только для получения информации о модуле, его нельзя изменить (ресурс только для чтения).

  • properties
    объект
    • properties.description
      строка

      Описание модуля.

    • properties.source
      строка

      Имя ModuleSource, если модуль скачан из него (иначе пусто).

    • properties.stage
      строка

      Текущая стадия жизненного цикла модуля.

      Допустимые значения: Sandbox, Incubating, Graduated, Deprecated

    • properties.state
      строка

      Состояние модуля (включен или выключен).

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

    • properties.weight
      целочисленный

      Вес (приоритет) модуля.

ModuleConfig

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию модуля Deckhouse. Название ресурса ModuleConfig должно соответствовать названию модуля (например, control-plane-manager для модуля control-plane-manager).

Пример:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: module-1
spec:
  enabled: true
  settings: {}
  version: 1
  • spec
    объект

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

    • spec.enabled
      булевый

      Включить или выключить модуль.

      Пример:

      enabled: 'false'
      
    • spec.settings
      объект

      Настройки модуля.

    • spec.version
      число

      Версия схемы настроек модуля.

      Пример:

      version: '1'
      

ModulePullOverride

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию ресурса для скачивания конкретных версий модулей Deckhouse.

  • spec
    объект

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

    • spec.imageTag
      строка

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

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

    • spec.scanInterval
      строка

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

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

    • spec.source
      строка

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

      Ссылка на объект ModuleSource модуля.

ModuleRelease

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию релизов модулей Deckhouse.

Ресурсы ModuleRelease создает Deckhouse.

  • spec
    объект

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

    • spec.applyAfter
      строка

      Время, до которого отложено обновление.

    • spec.changelog
      объект

      Список изменений модуля в данном релизе.

    • spec.moduleName
      строка

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

      Название модуля.

    • spec.requirements
      объект

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

    • spec.version
      строка

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

      Версия модуля в данном релизе.

      Пример:

      version: v1.0.0
      
    • spec.weight
      целочисленный

      Вес (приоритет) модуля.

ModuleSource

Scope: Cluster
Version: v1alpha1

Определяет конфигурацию источника модулей Deckhouse.

Пример:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleSource
metadata:
  name: example
spec:
  registry:
    repo: registry.example.io/modules-source
    dockerCfg: "<base64 encoded credentials>"
  • spec
    объект

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

    • spec.registry
      объект

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

      • spec.registry.ca
        строка

        Корневой сертификат (В формате PEM), которым можно проверить сертификат registry при работе по HTTPS (если registry использует самоподписанные SSL-сертификаты).

        Создание ресурса ModuleSource с указанием корневого сертификата, приведет к перезапуску containerd на всех узлах кластера.

      • spec.registry.dockerCfg
        строка

        Строка с токеном доступа к container registry в Base64. В случае использования анонимного доступа к container registry не заполняйте это поле.

      • spec.registry.repo
        строка

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

        Адрес репозитория образов контейнеров.

        Пример:

        repo: registry.example.io/deckhouse/modules
        
      • spec.registry.scheme
        строка

        Протокол для доступа к репозиторию контейнеров.

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

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

    • spec.releaseChannel
      Параметр устарел
      строка

      Желаемый канал обновлений по умолчанию для модулей данного container registry.

ModuleUpdatePolicy

Scope: Cluster
Version: v1alpha1

Определяет режим и настройки обновления модуля.

Пример:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleUpdatePolicy
metadata:
  name: example-update-policy
spec:
  moduleReleaseSelector:
    labelSelector:
      matchLabels:
        source: example
        module: module-1
  releaseChannel: Alpha
  update:
    mode: Auto
    windows:
    - days:
      - Mon
      - Wed
      from: '13:30'
      to: '14:00'
  • spec
    объект

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

    • spec.moduleReleaseSelector
      объект

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

      Определяет модули к которым применяются настройки обновления.

      • spec.moduleReleaseSelector.labelSelector
        объект

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

        Определяет фильтр на основе меток, указанных у целевых модулей

        Если указаны одновременно matchExpressions и matchLabels, учитываются оба фильтра (AND).

        • spec.moduleReleaseSelector.labelSelector.matchExpressions
          массив объектов

          Список фильтров на основе выражений.

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.key
            строка

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

            Имя метки.

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.operator
            строка

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

            Оператор сравнения.

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

          • spec.moduleReleaseSelector.labelSelector.matchExpressions.values
            массив строк

            Значение метки.

        • spec.moduleReleaseSelector.labelSelector.matchLabels
          объект

          Фильтр на основе совпадения меток.

          Пример:

          matchLabels:
            source: deckhouse
            module: deckhouse-admin
          
    • spec.releaseChannel
      строка

      Желаемый канал обновления модуля. Порядок возрастания стабильности канала обновлений (от наименее стабильного к наиболее стабильному): Alpha, Beta, EarlyAccess, Stable, RockSolid.

      По умолчанию: "Stable"

      Допустимые значения: Alpha, Beta, EarlyAccess, Stable, RockSolid

    • spec.update
      объект

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

      Режим и настройки обновления модуля.

      • spec.update.mode
        строка

        Режим обновления версий модуля.

        • AutoPatch — автоматический режим обновления для патч-версий.

          Для обновления минорной версии (например, с v1.65.* на v1.66.*) необходимо подтверждение.

          Для подтверждения обновления установите аннотацию modules.deckhouse.io/approved="true" в соответствующем ресурсе ModuleRelease.

          Обновление патч-версии (например, с v1.65.1 на v1.65.4) применяется с учетом окон обновлений, если они заданы.

        • Auto (автоматический) — все обновления применяются автоматически.

          Обновления минорной версии модуля (обновление релиза, например, с v1.26.* на v1.27.*) применяются с учетом заданных окон обновлений, либо, если окна обновлений не заданы, по мере появления обновлений на соответствующем канале обновлений.

        • Manual (ручной) — для обновления минорной версии модуля (обновление релиза, например, с v1.26.* на v1.27.*) необходимо подтверждение. Для подтверждения обновления установите аннотацию modules.deckhouse.io/approved="true" в соответствующем ресурсе ModuleRelease.

        • Ignore — обновления отключены.

        По умолчанию: "AutoPatch"

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

      • spec.update.windows
        массив объектов

        Расписание окон обновления модуля.

        • spec.update.windows.days
          массив строк

          Дни недели, в которые применяется окно обновлений.

          Примеры:

          days: Mon
          
          days: Wed
          
          • Элемент массива
            строка

            День недели.

            Допустимые значения: Mon, Tue, Wed, Thu, Fri, Sat, Sun

            Пример:

            Mon
            
        • spec.update.windows.from
          строка

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

          Время начала окна обновления (в часовом поясе UTC).

          Должно быть меньше времени окончания окна обновления.

          Шаблон: ^(?:\d|[01]\d|2[0-3]):[0-5]\d$

          Пример:

          from: '13:00'
          
        • spec.update.windows.to
          строка

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

          Время окончания окна обновления (в часовом поясе UTC).

          Должно быть больше времени начала окна обновления.

          Шаблон: ^(?:\d|[01]\d|2[0-3]):[0-5]\d$

          Пример:

          to: '18:30'