Доступно в редакциях: CE, BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
Модуль включен по умолчанию в наборах модулей: Default
, Managed
, Minimal
.
Настройки
Чтобы настроить модуль, используйте ресурс ModuleConfig
с именем deckhouse
(подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/deckhouse
для настройки модуля:
1apiVersion: deckhouse.io/v1alpha1
2kind: ModuleConfig
3metadata:
4 name: deckhouse
5spec:
6 version: 1
7 enabled: true
8 settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 1
- строка
Набор модулей Deckhouse. Определяет включенные по умолчанию модули:
Default
— рекомендованный набор модулей для работы кластера: мониторинга, контроля авторизации, организации работы сети и других потребностей.Managed
— набор для managed-кластеров от облачных провайдеров (например, Google Kubernetes Engine).Minimal
— минимально возможный набор, который включает единственный модуль (этот). Обратите внимание, что в набор модулейMinimal
не включен ряд базовых модулей (например, модуль работы с CNI). Deckhouse с набором модулейMinimal
без включения базовых модулей сможет работать только в уже развернутом кластере.
По умолчанию:
"Default"
Допустимые значения:
Default
,Minimal
,Managed
Пример:
1bundle: Default
- булевый
Ручное управление режимом отказоустойчивости.
По умолчанию режим отказоустойчивости определяется автоматически. Подробнее про режим отказоустойчивости.
Пример:
1highAvailability: true
- объект
Структура, аналогичная
spec.nodeSelector
пода Kubernetes.Если значение не указано или указано
false
,nodeSelector
будет определяться автоматически.Внимание. Deckhouse перестанет работать, если в
nodeSelector
указать несуществующий лейбл. Для восстановления работоспособности необходимо изменить значения на правильные вModuleConfig/deckhouse
иdeployment/deckhouse
. - строка
Желаемый канал обновлений Deckhouse (переключение на него произойдет при появлении такой возможности).
Порядок возрастания стабильности канала обновлений (от наименее стабильного к наиболее стабильному):
Alpha
,Beta
,EarlyAccess
,Stable
,RockSolid
.Допустимые значения:
Alpha
,Beta
,EarlyAccess
,Stable
,RockSolid
Пример:
1releaseChannel: Stable
- массив объектов
Структура, аналогичная
spec.tolerations
пода Kubernetes.Если значение не указано или указано
false
,tolerations
будет определяться автоматически.Внимание. Deckhouse перестанет работать, если указать некорректные
tolerations
. Для восстановления работоспособности необходимо изменить значения на корректные вModuleConfig/deckhouse
иdeployment/deckhouse
. - объект
Настройки режима и окон обновления Deckhouse.
Пример:
1update: 2 windows: 3 - from: '8:00' 4 to: '15:00' 5 days: 6 - Tue 7 - Sat 8 disruptionApprovalMode: Manual 9 notification: 10 webhook: https://release-webhook.mydomain.com 11 minimalNotificationTime: 6h 12 auth: 13 basic: 14 username: user 15 password: password
- строка
Режим обновления версий Deckhouse, имеющих изменения, которые могут привести к кратковременному простою в работе системных компонентов:
Auto
— автоматический режим обновления.Manual
— ручной режим обновления. Для применения обновления нужно установить аннотациюrelease.deckhouse.io/disruption-approved=true
на соответствующий ресурс DeckhouseRelease.
По умолчанию:
"Auto"
Допустимые значения:
Auto
,Manual
- строка
Режим обновления Deckhouse на выбранном канале обновлений.
-
AutoPatch
— автоматический режим обновления для патч-версий.Для обновления минорной версии (например, с
v1.65.*
наv1.66.*
) необходимо подтверждение.Обновление патч-версии (например, с
v1.65.1
наv1.65.4
) применяется с учетом окон обновлений, если они заданы. -
Auto
— автоматический режим обновления для всех версий.Обновление минорной версии (например, с
v1.65.*
наv1.66.*
) применяется с учетом окон обновлений, если они заданы.Обновление патч-версии (например, с
v1.65.1
наv1.65.4
) применяется без учета окон обновлений (сразу). -
Manual
— ручной режим обновления для всех версий.Для обновления и минорной, и патч-версии необходимо подтверждение.
Для подтверждения обновления версии, в соответствующем ресурсе DeckhouseRelease необходимо установить поле
approved
вtrue
.Выбранный режим обновления применяется только при установленном канале обновлений.
По умолчанию:
"AutoPatch"
Допустимые значения:
AutoPatch
,Auto
,Manual
-
- объект
Настройка оповещений о запланированном обновлении Deckhouse.
Имеет эффект только при установленном автоматическом режиме обновлений.
Пример:
1notification: 2 webhook: https://release-webhook.mydomain.com 3 minimalNotificationTime: 8h
- объект
Структура, описывающая способ авторизации на webhook.
Если не указано, авторизация не используется.
- строка
Минимальное время, которое должно пройти перед обновлением с момента появления новой минорной версии Deckhouse на используемом канале обновлений.
Задается в виде строки с указанием часов и минут: 30m, 1h, 2h30m, 24h.
Механизм обновления гарантирует, что Deckhouse не обновится, пока не пройдет указанный период времени.
При использовании окон обновлений обновление Deckhouse произойдет в ближайшее возможное окно обновлений, но не ранее чем истечет указанное в
minimalNotificationTime
время.Шаблон:
^([0-9]+h([0-9]+m)?|[0-9]+m)$
Пример:
1minimalNotificationTime: 6h
- строка
URL-адрес webhook’а.
Вызов webhook’а произойдет после появления новой минорной версии Deckhouse на используемом канале обновлений, но до момента ее применения в кластере.
Внимание! При указании неверного адреса webhook’а, обновление Deckhouse будет заблокировано.
Используйте параметр minimalNotificationTime при необходимости установить минимальное время, которое должно пройти перед обновлением с момента появления новой минорной версии Deckhouse на используемом канале обновлений.
На адрес webhook’а выполняется POST-запрос с
Content-Type: application/json
. Пример содержания запроса:1{ 2 "subject":"Deckhouse", 3 "version": "1.36.0", 4 "requirements": {"k8s": "1.20.0"}, 5 "changelogLink": "https://github.com/deckhouse/deckhouse/changelog/1.36.md", 6 "applyTime": "2023-01-01T14:30:00Z00:00", 7 "message": "New Deckhouse Release 1.36.0 is available. Release will be applied at: Friday, 01-Jan-23 14:30:00 UTC" 8}
Описание полей POST-запроса:
subject
— строка, тип события обновления. Возможные значения:Deckhouse
,Module
;moduleName
— строка, имя модуля. Устанавливается только еслиsubject: Module
version
— строка в формате x.y.z (семантическое версионирование);requirements
— объект, требования к версии;changelogLink
— строка, ссылка на список изменений (changelog) минорной версии;applyTime
— строка, дата и время запланированного обновления (с учетом установленных окон обновлений) в форматеRFC3339
;message
— строка, текстовое сообщение о доступности новой минорной версии и запланированном времени обновления.
Шаблон:
^https?://[^\s/$.?#].[^\s]*$
Пример:
1webhook: https://webhook.site/#!/bc8f71ac-c182-4181-9159-6ba6950afffa
- массив строк
Дни недели, в которые применяется окно обновлений.
Пример:
1days: 2- Mon 3- Wed