Обновление региона 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 и дождитесь её завершения.
Note
Если при первом запуске пайплайн завершается ошибкой на шаге
TASK [drs: Creating drs databases]
, запустите пайплайн повторно.
Остановите и удалите контейнеры 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 на Compute-узлах
Перед выполнением обновления Compute-узлов, их необходимо освободить от виртуальных машин. Это можно сделать путём перевода одного или нескольких узлов в режим обслуживания. При освобождении виртуальные машины будут смигрированы на другие узлы. Для переводна узлов в режим обслуживания выполните следующие шаги:
Зайдите в Портал администратора.
Перейдите в раздел
.Выберите в выпадающем меню Enable maintenance mode и подтвердите перевод гипервизора в режим обслуживания.
![]()
Перевод гипервизора в режим обслуживания
Затем выполните обновление одного или нескольких освобожденных узлов:
Зайдите в веб-интерфейс 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]*
В переменной
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