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}
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
...