Обновление региона 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.
Для деактивации HA:
Зайдите на каждый Control-узел по SSH и выполните команду:
# systemctl stop kolla-consul-container.service
Обновление RabbitMQ¶
Перед обновлением региона необходимо выполнить обновление RabbitMQ. Для обновления RabbitMQ до версии 3.12 выполните следующие действия:
Зайдите в веб-интерфейс GitLab по адресу
https://ks-lcm.cloud.itkey.com.Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Создайте новый пайплайн: .
В переменной
KOLLA_ANSIBLE_DEPLOY_ACTIONукажите значениеrabbitmq-upgrade 3.12.Запустите пайплайн, нажав кнопку Run pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Настройка 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-узлах¶
Отредактируйте файл inventory вашего региона:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Откройте на редактирование файл
inventoryи внесите в него изменения:
Добавьте новые группы:
[prometheus-hypervisor-exporter:children] compute [victoriametrics:children] monitoring [systemd-dependencies:children] control compute networkВ группу
[prometheus-blackbox-exporter:children]добавьте значениеcompute.Удалите следующие группы:
[chrony*] [rally*] [prometheus-rally-exporter] [sahara*] [vitrage*] [solum*] [murano*] [freezer*] [senlin*] [monasca*] [prometheus-haproxy-exporter] [informer*] [limiter*]
Если в вашем регионе используется интеграция с каталогами пользователей LDAP, выполните следующие шаги:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Откройте файл
config/keystone/domains/keystone.itkey.confи добавьте в раздел[ldap]следующую строку:[ldap] tls_cacertfile = "{{ openstack_cacert }}"
Для обновления KeyStack на Control-узлах выполните следующие действия:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Создайте новый пайплайн: .
В переменной
KOLLA_ARGSукажите значение--limit control. Это обеспечит выполнение пайплайна только для Control-узлов.В переменной
KOLLA_ANSIBLE_DEPLOY_ACTIONукажите значениеupgrade.Запустите пайплайн, нажав кнопку Run pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Примечание
Если при первом запуске пайплайн завершается ошибкой на шаге
TASK [drs: Creating drs databases], запустите пайплайн повторно.
Остановите и удалите сервисы контейнеров kolla-mariadb_clustercheck-container.service и kolla-prometheus_haproxy_exporter-container.service:
Зайдите на каждый Control-узел по SSH.
Выполните команды:
# systemctl stop kolla-mariadb_clustercheck-container.service # systemctl stop kolla-prometheus_haproxy_exporter-container.service # systemctl disable kolla-mariadb_clustercheck-container.service # systemctl disable kolla-prometheus_haproxy_exporter-container.service
Обновление KeyStack на Compute-узлах¶
Перед выполнением обновления Compute-узлов, их необходимо освободить от виртуальных машин. Это можно сделать путём перевода одного или нескольких узлов в режим обслуживания. При освобождении виртуальные машины будут смигрированы на другие узлы. Для переводна узлов в режим обслуживания выполните следующие шаги:
Зайдите в Портал администратора.
Перейдите в раздел .
Выберите в выпадающем меню Enable maintenance mode и подтвердите перевод гипервизора в режим обслуживания.
![]()
Перевод гипервизора в режим обслуживания¶
Затем выполните обновление одного или нескольких освобожденных узлов:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <ваш регион>.
Создайте новый пайплайн: .
В переменной
KOLLA_ARGSукажите значение--limit hostname1,hostname2, перечислив имена гипервизоров, указанные в файлеinventoryвашего региона.Подсказка
Значение параметра
--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]*В переменной
KOLLA_ANSIBLE_DEPLOY_ACTIONукажите значениеupgrade.Запустите пайплайн, нажав кнопку Run pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Проверьте состояние узлов после обновления и при необходимости выведите узлы из режима обслуживания. Для этого:
Зайдите в Портал администратора.
Перейдите в раздел .
Выберите в выпадающем меню Disable maintenance mode.
Повторите шаги запуска пайплайна для всех Compute-узлов по одному или порциями до полного обновления региона.
Проверка работоспособности региона после обновления¶
Выполните все шаги проверки из раздела Проверка работоспособности региона.
Включение сервисов DRS и HA¶
Для включения DRS:
Войдите в Портал администратора.
Перейдите в раздел .
Активируйте все задания сервиса DRS.
Для включения HA:
Зайдите на каждый Control-узел по SSH и выполните команду:
# systemctl start kolla-consul-container.service