Перейти к содержанию

Обновление

Требования к обновлению

  • Доступ до harbor.bootsman.host для обновления или выгрузки образов в ваш локальный регистри
  • Наличие активной лицензии
  • Наличие дистрибутивов:
    • bootsmanctl v3.0.1
  • Наличие в управляющем кластере 3 мастеров и 3 воркеров.
  • Для baremetal обеспечьте как минимум одну свободную ноду.
  • Все кластеры должны иметь версию Kubernetes 1.29.3+.
  • Все кластеры должны иметь версию Bootsman не ниже v2.7.0.

Обновление до предыдущих версий

В случае, если вы пропустили обновления, следует обновить до каждого из релизов, используя соответствующую версию дистрибутива.

На странице История изменений вы можете ознакомится с изменениями и перейти на страницу обновления до соответствующей версии.

Подготовка

Загрузка образов

Используйте дистрибутив bootsmanctl для копирования образов в ваше хранилище

(1)./bootsmanctl mirror registry REGISTRY_PATH -u REGISTRY_USERNAME -p REGISTRY_PASSWORD -r v3.0.1
  1. REGISTRY_PATH - URL хранилища образов REGISTRY_USERNAME - имя пользователя в вашем хранилище REGISTRY_PASSWORD - пароль пользователя в вашем хранилище

Ошибки передачи данных

В случае появления ошибок передачи, повторите процедуру копирования.

2025/07/17 10:47:21 protocol error: received DATA after END_STREAM
2025/07/17 10:49:12 protocol error: received DATA after END_STREAM

Подготовка конфигурации

Воспользуйтесь файлом конфигурации, который использовался для обновления или установки bootsman версии v2.6.0+

Внимание

Если в файле конфигурации указаны настройки модулей в разделе addons, кластер будет приведен в соотвествии с файлом конфигурации.

В случае изменения конфигурации модулей, следует удалить блок addons:

yq -i 'del(.addons)' bootsmanctl.config.yaml

Внимание

При обновлении в исполнении baremetal необходимо наличие свободных машин в сети кластера, соответствующих минимальным требованиям, по одной на роли Master и Worker.

При обновлении на других провайдер убедитесь, что имеются свободные ресурсы для создания временных машин для обновления.

Обновление агентов Baremetal

Заметка

Пропустите главу в случае использования другого провайдера.

Обновите агент на каждом узле:

sudo dpkg --install /home/bootsman/byoh-agent-version-amd64.deb
sudo rpm -U /home/bootsman/byoh-agent-version-1.el7.x86_64.rpm
sudo dpkg --install /home/bootsman/byoh-agent-version-amd64.deb

Перезапустите агенты:

sudo systemctl restart host-agent

Обновление управляющего кластера

Для обновления перенесите новый дистрибутив на АРМ администратора в директорию, содержащую данные об установке.

Запустите обновление.

./bootsmanctl management update cluster-name -c bootsmanctl.config.yaml
  1. cluster-name - имя кластера, данное ему при установке.

Обновление будет продолжительным (около 30 минут), время может варьироваться в зависимости от выделенных ресурсов.

Обновление подчинённого кластера

Web UI

Войдите в Web-интерфейс bootsman и на главной выберете "Manage" для кластера, который требуется обновить.

Manage Manage

Если кнопка обновления неактивна, потребуется удовлетворить некоторые зависимости модулей

Dependency Dependency

После внесения правок в модули, кнопка становится активнойalt text Выберете версию v3.0.1 и нажмите "Apply"

Update Update

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.0.1\"}}"

Дождитесь завершения обновления подчиненного кластера

kubectl get cluster.provisioning.bootsman.tech cluster_name -n namespace -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
True