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

2.3.0

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

  • Доступ до harbor.bootsman.host для обновления или выгрузки образов в ваш локальный регистри
  • Наличие активной лицензии
  • Наличие дистрибутивов:
    • bootsmanctl 2.3.0
    • byoh-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
...