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

2.4.0

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

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

Внимание

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

Внимание

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

Внимание

В конфигурации добавился новый обязательный параметр "VSPHERE_CONFIG_CLUSTER", соответствующий имени кластера vSphere. Для управляющего кластера следует добавить его в ваш файл конфигурации.

Заметка

Bootsman 2.4.0 более не поддерживает Kubernetes 1.27.4. Если вы обладаете кластерами, имеющими данную версию, потребуется сначала обновить версию Kubernetes. Для управляющего кластера используйте bootsmanctl версии установленного кластера. Для подчинённого кластера воспользуйтесь стандартной инструкцией обновления.

Подготовка

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

Заметка

Данный пункт нужен только для 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_2.4.0

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

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

Далее примените файлы конфигурации .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.0 для обновления bootsman до соответствующей версии и версию kubernetes, которую поддерживает дистрибутив (v1.27.6, v1.28.4, v1.29.3). Для vSphere нужно добавить новое поле. Для Yandex и Vsphere потребуется указать новый образ.

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

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

...
spec:
    bootsmanVersion: v2.4.0
    capiConfig:
        kubernetesVersion: v1.28.4
...
...
spec:
    bootsmanVersion: v2.4.0
    capiConfig:
        kubernetesVersion: v1.28.4
        infrastracture:
            yandexProviderConfig:
                templateOptions:
                    imageId: fd82ecbkqdbgcpm705sa
...
...
spec:
    bootsmanVersion: v2.4.0
    capiConfig:
        kubernetesVersion: v1.28.4
        infrastracture:
            vsphereProviderConfig:
                template:
                    cluster: имя вашего кластера
                    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:
            cluster: имя вашего кластера
            template: ubuntu-22.04-kube-1.27.4
...