Обновление Kubernetes: запуск, режимы и переходы между версиями
Где запускать обновление
Обновление кластера (включая версию Kubernetes) запускается в GUI на дашборде кластера — кластера управления или клиентского кластера или с помощью команд в CLI.
Где посмотреть доступные версии
В графическом интерфейсе — блок «Обновление» на дашборде кластера. Там отображаются все стабильные версии, доступные для обновления с текущей версии.
Полная карта — Карта версий обновлений.
Скриншот: управление обновлением на дашборде

Нажмите Управлять для перехода к выбору версии и настройки сценариев обновления.

В CLI доступные версии можно посмотреть в ресурсе ShturvalUpdateChannel.
Рекомендации перед обновлением
- Ознакомьтесь с release notes целевой версии — там могут быть breaking changes и миграционные шаги.
- Создайте резервную копию кластера управления перед обновлением.
- Проверьте карту версий — убедитесь, что прямой переход поддерживается. Если нет — спланируйте обновление через промежуточную версию.
Обновляйте клиентские кластеры только после обновления кластера управления!
Режимы обновления
Обновление запускается вручную — через графический интерфейс или kubectl.
- Выберите кластер в левом меню.
- На дашборде найдите блок «Обновление» (рядом с текущей версией кластера).
- Нажмите Управлять.
- В модальном окне выберите версию из списка доступных.
- Нажмите Обновить.
Если отображается «Обновлений нет» — у вас последняя доступная версия для текущего канала.
Скриншот: окно выбора версии для обновления кластера

Укажите целевую версию в ресурсе ShturvalUpdate:
kubectl -n shturval-update-system patch su shturval-update --type=merge -p '{"spec":{"version":"X.Y.Z"}}'
Замените X.Y.Z на нужную версию.
Пример — обновление до версии 2.14.0:
kubectl -n shturval-update-system patch su shturval-update --type=merge -p '{"spec":{"version":"2.14.0"}}'
Отложенное обновление позволяет настроить одно или несколько сценариев, по которым система автоматически запускает обновление при наличии доступной версии.
- Дашборд кластера → блок «Обновление» → Управлять.
- Нажмите + рядом с «Настройка отложенного обновления».
- Укажите:
- Расписание — в формате cron (значения через пробел);
- Длительность окна обновления — сколько времени может использоваться для обновления (по умолчанию 24 часа, минимум 30 минут);
- Поведение при превышении окна: остановиться (UpdatePaused) или продолжить;
- Разрешить минорные версии — если нет, автоматически обновляются только патч-версии.
- Нажмите Добавить.
Скриншот: окно создания расписания для обновления кластера

Создайте манифест и примените его:
apiVersion: update.shturval.tech/v1beta1
kind: ShturvalUpdateSchedule
metadata:
name: update-schedule
namespace: shturval-update-system
spec:
allowMinorVersion: true
pauseIfUpdatePeriodExceed: false
schedule: "0 8 26 9 *"
updatePeriod: "10h0m0s"
| Параметр | Описание |
|---|---|
schedule |
Расписание в формате cron |
updatePeriod |
Длительность окна обновления (например, 24h0m0s) |
pauseIfUpdatePeriodExceed |
Остановить обновление при превышении окна (true) или продолжить (false) |
allowMinorVersion |
Разрешить автоматическое обновление до минорных версий |
Чтобы запускать обновление по расписанию, укажите имя ShturvalUpdateSchedule в ShturvalUpdate:
kubectl -n shturval-update-system patch su shturval-update --type=merge -p '{"spec":{"followSchedule":"update-schedule"}}'
Изменение и удаление расписания
- Изменить — выберите расписание в модальном окне и настройте заново. Если обновление уже идёт, будет применён новый сценарий.
- Удалить — возможно только если обновление по этому расписанию ещё не начато.
Этапы обновления
После запуска обновление проходит следующие этапы (отображаются на дашборде):
- Обновление модуля shturval-update — обновление самого модуля обновления.
- Принудительное удаление устаревших сервисов — этап может быть пропущен при отсутствии таких сервисов.
- Обновление shturval-node-config — модуль управления конфигурациями узлов.
- Обновление версии Kubernetes — обновление компонентов Kubernetes в кластере.
- Обновление системных сервисов — обновление версий сервисов платформы (мониторинг, логирование и др.).
Статусы этапов
Цветовая индикация на дашборде:
- Зелёный — этап успешно завершён;
- Жёлтый — этап выполняется;
- Серый — этап не инициализирован.
При использовании отложенного обновления: если обновление не успело завершиться в указанное окно и настроено поведение «остановиться», отображается статус UpdatePaused. Для возобновления нажмите Продолжить вне расписания.
Кастомные ресурсы
| Ресурс | Назначение |
|---|---|
| ShturvalUpdate | Задаёт версию обновления, отображает статус |
| ShturvalUpdateChannel | Канал обновления (в платформе доступен только стабильный) |
| ShturvalUpdateSchedule | Параметры отложенного обновления по расписанию |
Общий обзор этих и других кастомных ресурсов платформы приведён на странице «Кастомные ресурсы в платформе».
Особые шаги для отдельных переходов
Некоторые переходы требуют дополнительных действий. Если ручные действия требуются, это указано в release notes целевой версии.
Обновление узлов кластера
В процессе обновления происходит замена версии только на созданных в кластере узлах. Новые создаваемые узлы будут иметь старую версию. Это обусловлено версией, определенной в InfraMachineTemplate. После завершения обновления необходимо создать новый шаблон ВМ на стороне провайдера инфраструктуры и заменить InfraMachineTemplate в группах узлов. Подробнее: Узлы и шаблоны ВМ.