Полуавтоматическое обновление
Обновление в полуавтоматическом режиме выполняется с помощью скрипта rabbitmq_migrate.sh.
Скрипт содержит действия, описанные в инструкции Ручное обновление.
Если во время проверки статуса кластера возникла ошибка, исправьте ее (подробнее — Проверка статуса кластера) и повторно запустите скрипт на том же шаге:
$ sudo sh ./rabbitmq_migrate.sh <СЕРВИС> <ШАГ>
Здесь:
<СЕРВИС>— название обновляемого сервиса.<ШАГ>— номер шага, на котором произошла ошибка.
Чтобы выполнить обновление с помощью rabbitmq_migrate.sh:
-
Скопируйте скрипт обновления на управляющий узел с установленной утилитой
kubectl:$ scp $NEW_DISTRIB_DIR/repos_mcs_distr_box-$NEW_RELEASE_NAME/upgrade/rabbitmq_upgrade/rabbitmq_migrate.sh <УЗЕЛ>:/home/<ИМЯ ПОЛЬЗОВАТЕЛЯ>Здесь:
<УЗЕЛ>— адрес управляющего узла, на котором выполняется обновление.<ИМЯ_ПОЛЬЗОВАТЕЛЯ>— имя пользователя для подключения к узлу.
-
Подключитесь к узлу и заполните переменную
CONTROL_NODESв скриптеrabbitmq_migrate.shименами узлов, на которых расположены поды RabbitMQ. Пример:CONTROL_NODES=("cpn001" "cpn002" "cpn003") -
Последовательно запустите скрипт обновления для каждого из сервисов инсталляции, подтверждая каждый следующий шаг выполнения.
Пример:
$ sudo sh ./rabbitmq_migrate.sh neutron$ sudo sh ./rabbitmq_migrate.sh barbican$ sudo sh ./rabbitmq_migrate.sh billing-account-service$ sudo sh ./rabbitmq_migrate.sh celery$ sudo sh ./rabbitmq_migrate.sh cinder$ sudo sh ./rabbitmq_migrate.sh gb$ sudo sh ./rabbitmq_migrate.sh katana$ sudo sh ./rabbitmq_migrate.sh magnum$ sudo sh ./rabbitmq_migrate.sh magnum-rapid$ sudo sh ./rabbitmq_migrate.sh manila$ sudo sh ./rabbitmq_migrate.sh nova -
Выполните плейбук
rabbitmq.yml:$ ansible-playbook -i vkcloud.yml -e distro_deploy=true -e env=vkcloud ../ansible-openstack/playbooks/rabbitmq.yml