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

2.4.1

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

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

Внимание

При обновлении управляющего и подчинённого кластера с версии 2.3.1 на соответствующем кластере будет пересозданы машины с ролью control-plane.

Подготовка

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

Используя полученный список и скрипт, выгрузите из 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_2.4.1

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

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

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

./bootsmanctl management update ${cluster-name} -k ${k8s-version}
Где: - ${cluster-name} - имя кластера, данное ему при установке;

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

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

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

Обновление подчинённого кластера происходит с помощью kubectl.

Используя kubeconfig управляющего кластера, выполните команды:

Запрос списка всех подчинённых кластеров:

kubectl get cluster.provisioning.bootsman.tech -A

Из полученного списка получите имя подчинённого кластера(${name}) и его неймспейс (${namespace})

Обновление:

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

Установите значения bootsmanVersion: v2.4.1 для обновления bootsman до соответствующей версии и версию kubernetes, которую поддерживает дистрибутив (v1.27.6, v1.28.4, v1.29.3). Для vSphere нужно добавить новое поле. Для Yandex, Vsphere и VK потребуется указать новый образ.

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

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

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

...
spec:
    bootsmanVersion: v2.4.1
    capiConfig:
        kubernetesVersion: v1.28.4
...
...
spec:
    bootsmanVersion: v2.4.1
    capiConfig:
        kubernetesVersion: v1.28.4
        infrastracture:
            yandexProviderConfig:
                templateOptions:
                    imageId: fd82ecbkqdbgcpm705sa
...
...
spec:
    bootsmanVersion: v2.4.1
    capiConfig:
        kubernetesVersion: v1.28.4
        infrastracture:
            vsphereProviderConfig:
                template:
                    cluster: имя вашего кластера
                    template: ubuntu-22.04-kube-1.28.4
...
...
spec:
    kubernetesVersion: v1.28.4
    infrastracture:
        vkProviderConfig:
            template:
                imageId: b184e670-55e4-4b6a-842e-9248ef538fa0
...

После успешного обновления ControlPlane обновите WorkerPools. Получить список WorkerPools в нужном namespace можно командой в управляющем кластере:

kubectl get workerpools.provisioning.bootsman.tech -n ${namespace}
Определите необходмый workerpool и измените параметры следующей командой:

kubectl edit workerpools.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:
            cluster: имя вашего кластера
            template: ubuntu-22.04-kube-1.27.4
...
...
spec:
    kubernetesVersion: v1.28.4
    infrastracture:
        vkProviderConfig:
            imageId: b184e670-55e4-4b6a-842e-9248ef538fa0
...