Тема
Требования к обновлению
- Доступ до harbor.bootsman.host для обновления или выгрузки образов в ваш локальный регистри
- Наличие активной лицензии
- Наличие дистрибутивов:
bootsmanctl 2.5.3
- Наличие списка образов для выгрузки.
- Наличие в управляющем кластере 3 мастеров и 3 воркеров.
- Для baremetal обеспечьте как минимум одну свободную ноду.
- Все кластеры должны иметь версию Kubernetes 1.27.6+.
Подготовка
Загрузка образов
Используя полученный список и скрипт, выгрузите из harbor.bootsman.host указанные образы и разместите их в вашем хранилище образов.
Для загрузки требуемых образов узнайте версию установленного кластера с помощью команды:
bash
kubectl get deployment -n default -o wide | grep museum | awk '{print $7}' | awk -F":" '{print $2}'С дистрибутивом есть файл с именем вида "${bootsman_version}.yaml".
В списке содержатся необходимые образы для конкретной версии bootsman.
Скачивание выполните командой:
bash
./mirror.sh v2.5.3.yamlПодготовка конфигурации
Воспользуйтесь файлом конфигурации, который использовался для обновления или инсталяции до версии v2.5.0
Внимание
Если в файле конфигурации указаны настройки модулей в разделе addons, кластер будет приведен в соотвествии с файлом конфигурации. В случае изменения конфигурации модулей, следует удалить блок addons:
bash
yq -i 'del(.addons)' bootsmanctl.config.yamlОбновление управляющего кластера
Для обновления перенесите новый дистрибутив на АРМ администратора в директорию, содержащую данные об установке.
Запустите обновление.
bash
./bootsmanctl management update {++${cluster-name}++} -c bootsmanctl.config.yamlГде: - ${cluster-name} - имя кластера, данное ему при установке.
Обновление будет продолжительным (около 30 минут), время может варьироваться в зависимости от выделенных ресурсов.
Обновление подчинённого кластера
Web UI
Войдите в Web-интерфейс bootsman и на главной выберете "Manage"

Выберите подчиненный кластер для обновления и откройте его для редактирования

Выберете версию v2.5.3 и нажмите "Apply"

Yaml-манифесты
Обновление подчинённого кластера происходит с помощью kubectl.
Используя kubeconfig управляющего кластера, выполните команды:
Запрос списка всех подчинённых кластеров и воркерпулов:
bash
kubectl get cluster.provisioning.bootsman.tech -A
kubectl get workerpool.provisioning.bootsman.tech -AИз полученного списка получите имя подчинённого кластера(<mark>${cluster_name}</mark>) и его неймспейс (<mark>${namespace}</mark>)
Обновление:
bash
kubectl patch cluster.provisioning.bootsman.tech {++${cluster_name}++} -n {++${namespace}++} --type=merge --patch="{\"spec\": {\"bootsmanVersion\": \"v2.5.3\"}}"Дождитесь завершения обновления подчиненного кластера
bash
kubectl get cluster.provisioning.bootsman.tech {++${cluster_name}++} -n {++${namespace}++} -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
True