Документация находится в разработке, может содержать неполную информацию.
Обновление платформы конфигурируется в ресурсе ModuleConfig deckhouse
.
Посмотреть текущую конфигурацию настроек обновления можно с помощью команды:
d8 k get mc deckhouse -oyaml
Пример вывода:
...
spec:
settings:
releaseChannel: Stable
update:
windows:
- days:
- Mon
from: "19:00"
to: "20:00"
...
Настройка режима обновления
Платформа поддерживает три режима обновления:
- Автоматический + окна обновлений не заданы. Кластер обновится сразу после появления новой версии на соответствующем канале обновлений.
- Автоматический + заданы окна обновлений. Кластер обновится в ближайшее доступное окно после появления новой версии на канале обновлений.
- Ручной режим. Для применения обновления требуются ручные действия.
Пример фрагмента конфигурации для включения автоматического обновления платформы:
update:
mode: Auto
Пример фрагмента конфигурации для включения автоматического обновления платформы с окнами обновлений:
update:
mode: Auto
windows:
- from: "8:00"
to: "15:00"
days:
- Tue
- Sat
Пример фрагмента конфигурации для включения ручного режима обновления платформы:
update:
mode: Manual
Каналы обновлений
Платформа использует пять каналов обновлений, предназначенных для использования в разных окружениях. Компоненты платформы могут обновляться автоматически, либо с ручным подтверждением по мере выхода обновлений в каналах обновления.
Информацию по версиям, доступным на каналах обновления, можно получить на сайте https://releases.deckhouse.ru/.
Чтобы перейти на другой канал обновлений, в конфигурации модуля deckhouse
нужно установить параметр .spec.settings.releaseChannel
.
Пример конфигурации модуля deckhouse
с установленным каналом обновлений Stable
:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: deckhouse
spec:
version: 1
settings:
releaseChannel: Stable
- При смене канала обновлений на более стабильный (например, с
Alpha
наEarlyAccess
) Deckhouse скачивает данные о релизе (в примере — из каналаEarlyAccess
) и сравнивает их с данными из существующих в кластере ресурсовDeckhouseRelease
:- Более поздние релизы, которые еще не были применены (в статусе
Pending
), удаляются. - Если более поздние релизы уже применены (в статусе
Deployed
), смены релиза не происходит. В этом случае платформа останется на таком релизе до тех пор, пока на канале обновленийEarlyAccess
не появится более поздний релиз.
- Более поздние релизы, которые еще не были применены (в статусе
- При смене канала обновлений на менее стабильный (например, с
EarlyAcess
наAlpha
):- Deckhouse скачивает данные о релизе (в примере — из канала
Alpha
) и сравнивает их с данными из существующих в кластере ресурсовDeckhouseRelease
. - Затем платформа выполняет обновление согласно установленным параметрам обновления.
- Deckhouse скачивает данные о релизе (в примере — из канала
Посмотреть список релизов платформы можно с использованием следующих команд:
d8 k get deckhouserelease
d8 k get modulereleases
Для отключения механизма обновления платформы, удалите в конфигурации модуля deckhouse
параметр .spec.settings.releaseChannel
. В этом случае платформа не проверяет обновления и обновление на patch-релизы не выполняется.
Крайне не рекомендуется отключать автоматическое обновление! Это заблокирует обновления на patch-релизы, которые могут содержать исправления критических уязвимостей и ошибок.
Немедленное применение обновлений
Чтобы применить обновление немедленно, установите в соответствующем ресурсе DeckhouseRelease аннотацию release.deckhouse.io/apply-now: "true"
.
Обратите внимание! В этом случае будут проигнорированы окна обновления, настройки canary-release и режим ручного обновления кластера. Обновление применится сразу после установки аннотации.
Пример команды установки аннотации пропуска окон обновлений для версии v1.56.2
:
d8 k annotate deckhousereleases v1.56.2 release.deckhouse.io/apply-now="true"
Пример ресурса с установленной аннотацией пропуска окон обновлений:
apiVersion: deckhouse.io/v1alpha1
kind: DeckhouseRelease
metadata:
annotations:
release.deckhouse.io/apply-now: "true"