2.3.0
Требования к обновлению
- Доступ до harbor.bootsman.host для обновления или выгрузки образов в ваш локальный регистри
- Наличие активной лицензии
- Наличие дистрибутивов:
bootsmanctl 2.3.0byoh-agent 0.8.1
- Наличие списка образов для выгрузки.
- Наличие в управляющем кластере 3 мастера и 3 воркера
- Наличие в ByoHost как минимум одной свободной ноды
Подготовка
Загрузка образов
Заметка
Данный пункт нужен только для airgap установки. Если вы используете harbor.bootsman.host, пропустите эти действия и приступите к обновлению агентов.
Используя полученный список и скрипт, выгрузите из harbor.bootsman.host указанные образы и разместите их в вашем хранилище образов.
Для загрузки требуемых образов узнайте версию установленного кластера с помощью команды:
kubectl get deployment -n default -o wide | grep museum | awk '{print $7}' | awk -F":" '{print $2}'
С дистрибутивом есть файлы с именем вида "version_${bootsman_version}".
В каждом списке содержатся необходимые образы для конкретной версии bootsman.
Далее скачайте в ваш локальный регистри образы, начиная с файла, который соответствует на одну версию выше вашей текущей версии, и заканчивая последней версией.
Скачивание выполните командой:
./mirror.sh version_${bootsman_version}
./mirror.sh version_2.1.1
./mirror.sh version_2.2.0
./mirror.sh version_2.3.0
Обновление агентов
Перед обновлением кластера - обновите все byoh-agent'ы.
Новый пакет byoh-agent должен быть передан вместе с дистрибутивом.
Перенесите пакет на все серверы, затем обновите их командой:
sudo rpm -U --force byoh-agent-v0.8.1-1.el7.x86_64.rpm
Далее перезапустите агента.
sudo systemctl restart host-agent
Обновление управляющего кластера
Для обновления перенесите новый дистрибутив на АРМ администратора в директорию, содержащую данные об установке.
Далее примените файлы конфигурации .env и запустите обновление.
./bootsmanctl management update ${cluster_name} -k ${k8s-version}
Заметка
Переменные:
-
${provider}- инфраструктурный провайдер, в контексте настоящего руководства - byoh; -
${k8s-version}- версия k8s, для текущего релиза доступны: v1.27.4, v1.27.6, v1.28.4.
Обновление будет продолжительным ~30 минут, время может варьироваться в зависимости от выделенных ресурсов.
Внимание
По завершении обновления ещё раз перезагрузите byoh-agent на всех серверах.
Для этого выполните команду на каждом сервере
sudo systemctl restart host-agent
Обновление подчинённого кластера
Обновление подчинённого кластера происходит с помощью kubectl.
Используя kubeconfig управляющего кластера, выполните команды:
Запрос списка всех подчинённых кластеров:
kubectl get cluster.provisioning.bootsman.tech -A
Из полученного списка получите имя подчинённого кластера(${name}) и его неймспейс (${namespace})
Внимание
Обновление версии kubernetes для подчинённых кластеров доступно только с версии 2.3.0. Вследствие этого в подчинённом кластере нельзя обновлять kubernetes без обновления bootsman.
Обновление:
kubectl edit cluster.provisioning.bootsman.tech ${name} -n ${namespace}
Установите значения bootsmanVersion: 2.3.0 для обновления bootsman до соответствующей версии и версию kubernetes, которую поддерживает дистрибутив (v1.27.4, v1.27.6, v1.28.4)
Пример
...
spec:
bootsmanVersion: 2.3.0
capiConfig:
kubernetesVersion: v1.28.4
...