Три вопроса про обновления. Модуль ждёт окна обновлений, а мне нужно сейчас. Хочу поставить конкретную версию и чтобы кластер сам не обновлялся. Кластер отстал на несколько минорных версий, как обновляться безопасно?
Три вопроса про обновления. Модуль ждёт окна обновлений, а мне нужно сейчас. Хочу поставить конкретную версию и чтобы кластер сам не обновлялся. Кластер отстал на несколько минорных версий, как обновляться безопасно?
Применить прямо сейчас, мимо окна:
# релизы модулей и Deckhouse
d8 k get modulereleases
d8 k get deckhousereleases
# модуль
d8 k annotate modulerelease <релиз> modules.deckhouse.io/apply-now="true"
# или: d8 system module apply-now <модуль> <версия>
# Deckhouse
d8 k annotate deckhouserelease <версия> release.deckhouse.io/apply-now="true"
Для DeckhouseRelease аннотация игнорирует окна, canary и ручной режим. Для ModuleRelease только окно, требования релиза всё равно проверяются.
Режим обновлений. Он задаётся в ModuleConfig deckhouse: settings.update.mode (AutoPatch по умолчанию, Auto, Manual) и settings.update.windows (from, to в UTC, days). Модули без своей ModuleUpdatePolicy наследуют эти настройки.
install:vX.Y.Z и задайте update.mode: Manual. Тогда и патчи ставятся только после подтверждения.AutoPatch.releaseChannel из ModuleConfig deckhouse; учтите, что перестанут приходить и патчи безопасности.Отставание на несколько минорных. Deckhouse Platform нельзя обновлять, пропуская минорные версии: он идёт последовательно, на последний патч каждой. На критичных NodeGroup поставьте disruptions.approvalMode: Manual, чтобы узлы с drain и перезагрузкой обновлялись под вашим контролем. Версию Kubernetes (kubernetesVersion в ClusterConfiguration, d8 system edit cluster-configuration) поднимайте отдельным шагом, она тоже обновляется поэтапно.
Подробнее в документации: режимы обновления, окна обновлений, закрепление релиза.
Если релиз не применяется вообще, смотрите вопрос «Обновление Deckhouse не применяется».