Обновление
Требования к обновлению
- Доступ до harbor.bootsman.host для обновления или выгрузки образов в ваш локальный регистри
- Наличие активной лицензии
- Наличие дистрибутивов:
bootsmanctl v3.3.0
- Наличие в управляющем кластере 3 мастеров и 3 воркеров.
- Для baremetal обеспечьте как минимум одну свободную ноду.
- Все кластеры должны иметь версию Kubernetes 1.30.7+.
- Все кластеры должны иметь версию Bootsman не ниже v3.2.0.
Обновление до предыдущих версий
В случае, если вы пропустили обновления, следует обновить до каждого из релизов, используя соответствующую версию дистрибутива.
На странице История изменений вы можете ознакомится с изменениями и перейти на страницу обновления до соответствующей версии.
Подготовка
Загрузка образов
Используйте дистрибутив bootsmanctl для копирования образов в ваше хранилище
- REGISTRY_PATH - URL хранилища образов REGISTRY_USERNAME - имя пользователя в вашем хранилище REGISTRY_PASSWORD - пароль пользователя в вашем хранилище
Ошибки передачи данных
В случае появления ошибок передачи, повторите процедуру копирования.
Подготовка конфигурации
Воспользуйтесь файлом конфигурации, который использовался для обновления или установки bootsman версии v2.6.0+
Внимание
Если в файле конфигурации указаны настройки модулей в разделе addons, кластер будет приведен в соотвествии с файлом конфигурации.
В случае изменения конфигурации модулей, следует удалить блок addons:
Внимание
При обновлении в исполнении baremetal необходимо наличие свободных машин в сети кластера, соответствующих минимальным требованиям, по одной на роли Master и Worker.
При обновлении на других провайдер убедитесь, что имеются свободные ресурсы для создания временных машин для обновления.
Автоматическое обновление движка томов Longhorn
Внимание!
Начиная с версии Bootsman v3.3.0, автоматическое обновление движка томов Longhorn включено по умолчанию.
Если в кластере активирован аддон Longhorn, необходимо выбрать стратегию обновления движка томов:
- Автоматическое (рекомендуется) — движки томов обновляются сразу после обновления Longhorn Manager без ручного вмешательства, после того, как все модули полезной нагрузки будут обновлены в соответствии с их стратегией обновления, установленной в ReplicaSet. Управляется параметром аддона
concurrentAutomaticEngineUpgradePerNodeLimit: 3. - Ручное — автоматическое обновление отключено (
concurrentAutomaticEngineUpgradePerNodeLimit: 0); администратор запускает обновление движков самостоятельно в удобное время, например в период технического обслуживания.
В поставке Bootsman всегда остается предыдущая версия образа движка Longhorn для возможности отката.
Автоматическое обновление движка
После обновления Longhorn Manager движки томов обновляются автоматически только при наличии параметра concurrentAutomaticEngineUpgradePerNodeLimit со значением больше 0. Рекомендуемое значение — 3:
Подробнее: раздел Автоматическое обновление движка Longhorn
Тома аварийного восстановления (Disaster Recovery)
Longhorn не выполняет автоматическое обновление томов аварийного восстановления. Их следует обновить вручную после завершения обновления кластера в период минимальной нагрузки на систему.
Обновление управляющего кластера
Перенесите новый дистрибутив на АРМ администратора в директорию, содержащую данные об установке.
Выполните обновление конфигурации кластера:
Запустите обновление:
- cluster-name - имя кластера, данное ему при установке.
Обновление будет продолжительным (около 30 минут), время может варьироваться в зависимости от выделенных ресурсов.
Обновление подчинённого кластера
Web UI
Войдите в Web-интерфейс bootsman и на главной выберете "Manage" для кластера, который требуется обновить.
Если кнопка обновления неактивна, потребуется удовлетворить некоторые зависимости модулей
После внесения правок в модули, кнопка становится активной Выберете версию v3.3.0 и нажмите "Apply"
Yaml-манифесты
Обновление подчинённого кластера происходит с помощью kubectl.
Используя kubeconfig управляющего кластера, выполните команды:
Запрос списка всех подчинённых кластеров и воркерпулов:
kubectl get cluster.provisioning.bootsman.tech -A
kubectl get workerpool.provisioning.bootsman.tech -A
Из полученного списка получите имя подчинённого кластера(cluster_name) и его неймспейс (namespace)
Обновление:
kubectl patch cluster.provisioning.bootsman.tech cluster_name -n namespace --type=merge --patch="{\"spec\": {\"bootsmanVersion\": \"v3.2.0\"}}"
Дождитесь завершения обновления подчиненного кластера
kubectl get cluster.provisioning.bootsman.tech cluster_name -n namespace -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
True
Проверка после обновления
Проверка автообновления движка Longhorn
Если в кластере активирован аддон Longhorn, рекомендуется проверить успешность автоматического обновления движка Longhorn перед эксплуатацией, а также чтобы пройти валидацию перед обновлением на следующую версию Bootsman.
Убедитесь, что новый образ движка успешно задеплоен:
В столбце STATE все образы должны иметь статус deployed.
Проверьте, что все тома перешли на образ движка версии v1.7.3:
kubectl get volumes.longhorn.io -n longhorn-system -o custom-columns=\
"NAME:.metadata.name,STATE:.status.state,CURRENT:.status.currentImage,DESIRED:.spec.engineImage"
Ожидаемое поведение
Тома в статусе attached обновляются в режиме live — без остановки. Тома в статусе detached обновляются offline. Обновление может занять некоторое время в зависимости от значения concurrentAutomaticEngineUpgradePerNodeLimit, количества томов в кластере, а также настроек ReplicaSet полезной нагрузки.
Внимание!
Если в пространстве имен longhorn-system есть старые образы движка v1.6.2, значит, автоматическое обновление завершилось не до конца. В таком случае можно перезагрузить вручную модули, использующие тома Longhorn, чтобы они автоматически обновились до версии v1.7.3. Это особенно важно для томов с высокой нагрузкой — рекомендуется выполнить обновление в нерабочее время или поэтапно.
Тома аварийного восстановления (Disaster Recovery)
DR-тома не обновляются автоматически. Проверьте их статус отдельно и обновите вручную при необходимости:
Поведение при сбое обновления
В случае ошибки Longhorn продолжает попытки обновления до успешного завершения.
Если число неудачных обновлений на узле превышает значение concurrentAutomaticEngineUpgradePerNodeLimit, Longhorn прекращает обновление движков на данном узле.





