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

2.3.1

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

  • Доступ до harbor.bootsman.host для обновления или выгрузки образов в ваш локальный регистри
  • Наличие активной лицензии
  • Наличие дистрибутивов:
    • bootsmanctl 2.3.1
  • Наличие списка образов для выгрузки.
  • Наличие в управляющем кластере 3 мастеров и 3 воркеров
  • Для baremetal наличие как минимум одной свободной ноды.

Внимание

При обновлении управляющего кластера до версии 2.3.1 на всех подчинённых кластерах будет запущена процедура обновления шаблонов машин. Это повлечёт за собой пересоздание машин в режиме rolling release.

Подготовка

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

Заметка

Данный пункт нужен только для 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
./mirror.sh version_2.3.1

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

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

Далее примените файлы конфигурации .env и запустите обновление.

./bootsmanctl management update ${cluster_name} -k ${k8s-version}

Заметка

Переменные:

  • ${cluster_name} - имя кластера, данное ему при установке;

  • ${k8s-version} - версия k8s, для текущего релиза доступны: v1.27.4, v1.27.6, v1.28.4.

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

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

Обновление подчинённого кластера происходит с помощью 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: v2.3.1 для обновления bootsman до соответствующей версии и версию kubernetes, которую поддерживает дистрибутив (v1.27.4, v1.27.6, v1.28.4). Для Yandex и Vsphere потребуется указать новый образ.

Для Yandex идентификатор - id, который можно получить в инструкции.

Для vSphere - имя образа, как получить или создать образ можно узнать из инструкции.

...
spec:
    bootsmanVersion: v2.3.1
    capiConfig:
        kubernetesVersion: v1.28.4
...
...
spec:
    bootsmanVersion: v2.3.1
    capiConfig:
        kubernetesVersion: v1.28.4
        infrastracture:
            yandexProviderConfig:
                templateOptions:
                    imageId: fd82ecbkqdbgcpm705sa
...
...
spec:
    bootsmanVersion: v2.3.1
    capiConfig:
        kubernetesVersion: v1.28.4
        infrastracture:
            vsphereProviderConfig:
                template:
                    template: ubuntu-22.04-kube-1.28.4
...

После успешного обновления ControlPlane обновите воркеры

kubectl edit workerpool.provisioning.bootsman.tech ${name} -n ${namespace}

Установите id или имя образа, а также верию k8s

...
spec:
    kubernetesVersion: v1.28.4
...
...
spec:
    kubernetesVersion: v1.28.4
    infrastracture:
        yandexConfig:
            imageId: fd82ecbkqdbgcpm705sa
...
...
spec:
    kubernetesVersion: v1.28.4
    infrastracture:
        vsphereConfig:
            template: ubuntu-22.04-kube-1.27.4
...