Обновление региона KeyStack до версии 2025.1.1
В этом разделе описаны шаги по обновлению версии KeyStack при сохранении текущих версий ОС на узлах.
Проверка работоспособности региона
Перед тем как приступать к обновлению, необходимо проверить состояние облачной инфраструктуры. Эта проверка необходима для минимизации рисков и поддержания стабильности системы. Проверка работоспособности региона позволяет убедиться, что виртуальные машины создаются и доступны по сети, что подтверждает работоспособность цепочки сервисов (MariaDB, HAProxy, Cinder, Nova, Neutron, Glance).
Подключитесь к интерфейсу OpenStack CLI.
Проверьте сетевую доступность всех узлов облака с помощью команды
ping
.Выполните команду
openstack compute service list
для проверки состояния вычислительных сервисов. Убедитесь, что все сервисы находятся в состоянииup
.Выполните команду
openstack volume service list
для проверки состояния службы томов. Убедитесь, что все сервисы находятся в состоянииup
.Выполните команду
openstack server list
для проверки состояния виртуальных машин.Используя OpenStack CLI, портал самообслуживания Horizon или Портал администратора, создайте несколько ВМ с различными флейворами и выполните их live-миграцию.
Отключение сервисов DRS и HA
Перед началом обновления необходимо отключить сервисы DRS и HA.
Для деактивации DRS:
Войдите в Портал администратора.
Перейдите в раздел
.Деактивируйте все задания сервиса DRS.
Зайдите на каждый Control-узел по SSH и выполните команду:
# systemctl stop kolla-drs-container.service
Для деактивации HA:
Зайдите на каждый Control-узел по SSH и выполните команду:
# systemctl stop kolla-consul-container.service
Настройка GitLab
Проверьте значения переменных CI/CD:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Перейдите в раздел
.Убедитесь в наличии переменной
BASE
со значениемsberlinux
.Если переменная отсутствует:
Нажмите Add variable.
Введите в поле Key значение
BASE
.Введите в поле Value значение
sberlinux
.Уберите флаг Protect variable и сохраните изменения.
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Перейдите в раздел
.Убедитесь в наличии переменной
BASE
со значениемubuntu
.Если переменная отсутствует:
Нажмите Add variable.
Введите в поле Key значение
BASE
.Введите в поле Value значение
ubuntu
.Уберите флаг Protect variable и сохраните изменения.
Измените конфигурацию пайплайна:
Зайдите в веб-интерфейс GitLab по адресу
https://ks-lcm.cloud.itkey.com
.Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Откройте файл
.gitlab-ci.yml
в репозитории региона.В переменной
KEYSTACK_RELEASE
укажите версию релиза, на которую производится обновление —ks2025.1.1
:KEYSTACK_RELEASE: value: &KEYSTACK_RELEASE ks2025.1.1
Настройте таймаут для пайплайнов:
Перейдите в раздел
.Установите значение Timeout —
5h
.
Обновление KeyStack на Control-узлах
Перед выполнением обновления Control-узлов проверьте текущую версию RabbitMQ:
Зайдите на каждый Control-узел по SSH.
Выполните команду:
# docker exec rabbitmq rabbitmqctl --version
Если версия RabbitMQ старше 3.13, выполните update-rabbitmq-2025.1.1
Остановите и удалите контейнеры prometheus-haproxy-exporter
и mariadb-cluster-check
:
Зайдите на каждый Control-узел по SSH.
Выполните команды:
# docker stop prometheus-haproxy-exporter mariadb-cluster-check # docker rm prometheus-haproxy-exporter mariadb-cluster-check
Для обновления KeyStack на Control-узлах выполните следующие действия:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Создайте новый пайплайн:
.В переменной
KOLLA_ARGS
укажите значение--limit control[0]
. Это обеспечит выполнение пайплайна только для первого Control-узла.Запустите пайплайн, нажав кнопку Run pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Повторите шаги выше для остальных Control-узлов, указывая значения
--limit control[1]
,--limit control[2]
и так далее.
Отдельно выполните обновление компонентов Nova, Neutron на всех Control-узлах:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Создайте новый пайплайн:
.В переменной
KOLLA_ARGS
укажите значение-t nova,neutron --limit control
. Это обеспечит выполнение пайплайна только для этих компонентов.Запустите пайплайн, нажав кнопку Run pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Обновление KeyStack на Compute-узлах
Перед выполнением обновления Compute-узла, его необходимо освободить от виртуальных машин. Освободите один или несколько гипервизоров от виртуальных машин одним из перечисленных способов:
живая миграция;
холодная миграция;
перевод в режим обслуживания maintenance mode. Например, это можно сделать следующей командой:
# openstack compute service set --disable <имя узла> nova-compute
Затем выполните обновление одного или нескольких освобожденных узлов:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Создайте новый пайплайн:
.В переменной
KOLLA_ARGS
укажите значение--limit hostname1,hostname2
, перечислив имена гипервизоров, указанные в файлеinventory
вашего региона.Hint
Значение параметра
--limit
можно указывать различными способами. Например, если ваш файлinventory
содержит такие имена узлов:[compute] cdm-sl-pca35.domain.company.ru cdm-bl-pca02.domain.company.ru cdm-bl-pca03.domain.company.ru cdm-bl-pca20.domain.company.ruвы можете использовать любой из следующих вариантов:
--limit cdm-sl-pca35.domain.company.ru,cdm-bl-pca02.domain.company.ru,cdm-bl-pca03.domain.company.ru
--limit cdm-sl-pca35*,cdm-bl-pca02*,cdm-bl-pca03*
--limit cdm-sl-pca35*,cdm-bl-pca0[2,3]*
Запустите пайплайн, нажав кнопку Run pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Проверьте состояние узлов после обновления и при необходимости выведите узлы из режима обслуживания (maintenance mode):
Выполните команду:
# openstack compute service list --long
Если какие-то гипервизоры находятся в режиме обслуживания, выведите их из него. Например, это можно сделать следующей командой:
# openstack compute service set --up --enable <имя узла> nova-compute
Проведите живую миграцию виртуальных машин на обновлённый гипервизор.
Повторите шаги запуска пайплайна для всех Compute-узлов по одному или порциями до полного обновления региона.
Проверка работоспособности региона после обновления
Выполните все шаги проверки из раздела Проверка работоспособности региона.
Включение сервисов DRS и HA
Для включения DRS:
Зайдите на каждый Control-узел по SSH и выполните команду:
# systemctl start kolla-drs-container.service
Войдите в Портал администратора.
Перейдите в раздел
.Активируйте все задания сервиса DRS.
Для включения HA:
Зайдите на каждый Control-узел по SSH и выполните команду:
# systemctl start kolla-consul-container.service