Сопровождение развёртывания

Изменение состава физических узлов

Добавление узла

Общий порядок действий:

  1. Добавить новый физический узел. Настроить порядок интерфейсов и диск ОС далее, согласно инструкции;

  2. Добавить узел в развёртывание;

  3. Применить изменения. Выполните операции Provision Nodes, Deploy Services.

На этапе Deploy Services при масштабировании развёртывания типа OpenStack и роли:

  • Compute: выберите только нулевой контроллер и новый узел вычисления,

  • Controller/PowerOfThree: выберите все узлы в роли Controller/PowerOfThree соответственно,

  • Monitoring: выберите только новый узел.

При масштабировании развёртывания типа Ceph выберите нулевой хост и ваш новый узел типа Ceph.

Удаление узла

Общий порядок действий:

  1. Подготовить систему к удалению узла.

  2. Удалить узел из развёртывания.

  3. Удалить узел из системы.

Для подготовки системы к удалению в развёртывании типа Openstack узла:

  • вычисления: в режиме администратора облака необходимо выключить удаляемый узел.

  • управления: с удаляемого узла выполните команду:

    sudo pcs node maintenance <node-name>
    

Для удаления узла из развёртывания используйте DeckCrew TUI, зайдите во вкладку Deployment из меню развёртывания, в состав которого входит узел для удаления и нажмите на галку Activate Danger Zone:

+---------------------------------------------- Deployment ----------------------------------------------+
| / [AOSBCP] DeckCrew / Instance menu / Deployment                                                       |
|--------------------------------------------------------------------------------------------------------O
|  < Refresh/Ctrl+R >                                                                                    |
|                                                                                                        |
|Stack status                                                                                            |
|  action result: 0                                                                                      |
|  last action: Deploy Services                                                                          |
|  logs: /var/log/deckcrew/p1center/deploy_services.log                                                  |
|  status: DEPLOY_SUCCESS                                                                                |
|                                                                                                        |
|Debug mode                                                                                              |
|  [ ] No launch. Generate deployment script /tmp/deploy-p1center.sh                                     |
|                                                                                                        |
|Pick deployment action                                                                                  |
|  (X) Prepare Networks                                                                                  |
|  ( ) Create VIPs                                                                                       |
|  ( ) Provision Nodes                                                                                   |
|  ( ) Validate Templates                                                                                |
|  ( ) Deploy Services                                                                                   |
|                                                                                                        |
|  [X] Activate danger section                                                                           |
|  ( ) Update Partition                                                                                  |
|  (X) Undeploy Nodes                                                                                    |
|  ( ) Undeploy All                                                                                      |
|                                                                                                        |
|Set extra settings for deployment action                                                                |
|[ ] p1center-compute-0                                                                                  |
|[ ] p1center-controller-0                                                                               |
|                                                                                                        |
|                               < Start/Ctrl+A >          < Stop/Ctrl+D >          < Cancel/Ctrl+C >     |
+--------------------------------------------------------------------------------------------------------+
+-------------------------------------------- Развёртывание ---------------------------------------------+
| / [AOSBCP] DeckCrew / Меню развёртывания / Развёртывание                                               |
|--------------------------------------------------------------------------------------------------------O
|  < Обновить/Ctrl+R >                                                                                   |
|                                                                                                        |
|Статус стека                                                                                            |
|  логи: /var/log/deckcrew/p1center/deploy_services.log                                                  |
|  последнее действие: Развернуть сервисы                                                                |
|  результат действия: 0                                                                                 |
|  статус: DEPLOY_SUCCESS                                                                                |
|                                                                                                        |
|Режим отладки                                                                                           |
|  [ ] Без запуска. Сгенерировать скрипт развертывания /tmp/deploy-p1center.sh                           |
|                                                                                                        |
|Выберите операцию развертывания                                                                         |
|  (X) Подготовить сети                                                                                  |
|  ( ) Создать виртуальные IP-адреса                                                                     |
|  ( ) Развернуть узлы                                                                                   |
|  ( ) Проверить шаблоны                                                                                 |
|  ( ) Развернуть сервисы                                                                                |
|                                                                                                        |
|  [X] Активировать раздел опасных действий                                                              |
|  ( ) Обновить раздел                                                                                   |
|  (X) Отключить Узлы                                                                                    |
|  ( ) Удалить все ресурсы развёртывания                                                                 |
|                                                                                                        |
|Задать дополнительные настройки для действия развертывания                                              |
|[ ] p1center-compute-0                                                                                  |
|[ ] p1center-controller-0                                                                               |
|                                                                                                        |
|                               < Старт/Ctrl+A >        < Остановка/Ctrl+D >       < Отмена/Ctrl+C >     |
+--------------------------------------------------------------------------------------------------------+

Шаг 1. Выберите узлы для удаления и нажмите кнопку Start.

Если узла нет в списке во вкладке Deployment, значит развёртывание узла завершено неуспешно. В этом случае перейдите сразу к Шагу 2.

Шаг 2. Затем перейдите в меню Роли/Узлы и Сети ролей и удалите ваш узел из списка узлов, используя кнопку Delete.

Шаг 3. Для удаления узла из системы перейдите в меню управления физическими узлами и удалите узел, выбрав его в списке узлов и нажав на кнопку Delete.

Если узел находится в состоянии deploy failed или error, перед удалением необходимо сбросить состояние узла, запустив операцию undeploy.

Полезно перед удаление очистить узел от данных используя операцию clean

Замена узла в облаке

Для замены узла необходимо сначала добавить новый физический узел и настроить его согласно инструкции из Добавления узлов в облако.

Затем перейдите в раздел Roles/Nodes and Networks, удалите узел, который хотите заменить, и добавьте новый узел.

Затем в разделе Deployment выполните Provision Nodes, Update Known Hosts и Deploy Services.

Ручное обновление

Обновление пакетов

Для обновления пакетов системы необходимо использовать менеджер пакетов dnf.

Настройте репозитории для обновления в /etc/yum.repos.d/ на узле развёртывания. Для простоты укажите имя репозитория moncloud_updates.

Если обновляется узел развёртывания, то выполните команду:

dctl update packages

Для обновления пакетов на узлах развёртываний выполните команду:

dctl instance update --packages <deploy_name> --role <role_name>

Обновление контейнеров

Реестр образов контейнеров находится на узле развёртывания на порту 8787. Для обновления всех образов в реестре необходимо обновить (или установить) пакет acloud-registry на узле развёртывания:

sudo dnf update acloud-registry --enablerepo=acloud_staging_imagedata

Для обновления всех контейнеров в системе перейдите к соответствующему разделу документации Обновление Openstack или Обновление узла развёртывания.

Частичное обновление контейнеров

Чтобы обновить один или несколько образов в реестре, используйте команду skopeo, установленную на узле развёртывания. Например, для обновления образа openstack-nova-api выполните команду:

skopeo copy --src-tls-verify=false \
docker://acloud-obs.intra.acloud.ru/acloud/staging/containers/containers/acloud/openstack-nova-api:latest \
docker://<undercloud_ip>:8787/acloud/openstack-nova-api:latest

В зависимости от того, как контейнер управляется, способ его обновления может отличаться:

  • простые контейнеры, не управляемые сервисом Pacemaker,

  • сложные контейнеры, управляемые сервисом Pacemaker, а именно:

    • cinder-volume

    • rabbitmq

    • redis

    • haproxy

    • mariadb

Для простых контейнеров используйте команду dctl для пересоздания контейнера на всех узлах управления:

dctl instance update demo --container nova_api --role Controller

или на одном узле, например:

dctl instance update demo --container nova_api --host demo-controller-0

Для сложных контейнеров воспользуйтесь командой:

dctl instance update demo --pcs-service SERVICE_NAME

При обновлении контейнеров nova_virt* необходимо предварительно остановить виртуальные машины на узле с обновляемым контейнером.

Обновление OpenStack

Примечание

Предварительно необходимо остановить виртуальные машины на обновляемом узле, так как при обновлении все контейнеры пересоздаются, то есть будут пересозданы и контейнеры nova_virt*, остановка которых приводит к завершению работы всех запущенных ВМ.

Для начала необходимо сбекапить данные:

dctl instance backup <deploy_name> --all

Последовательность действий:

  1. Обновить пакеты acloud-registry и acloud-images на узле развёртывания:

    sudo dnf update acloud-registry acloud-images --enablerepo acloud_staging_imagedata
    
  2. Запустить обновление всех или нескольких развёртываний:

    dctl update instances [name ...]
    

Обновление скриптов развёртывания

Если не планируется обновление пакетов, то можно обновить только скрипты развёртывания.

Шаг 1. Для этого обновите необходимые пакеты на узле развёртывания:

dctl update packages

Шаг 2. Запустите обновление шаблонов развёртывания:

dctl instance update --templates <deploy_name>

В случае возникновения ошибок ребейза зайдите в указанную в ошибке директорию:

cd /etc/deckcrew/templates/<deploy_name>-<deploy_type>-update

и выполните успешный ребейз, после чего запустите команду обновления шаблонов с флагом --finish:

dctl instance update --templates <deploy_name> --finish

Шаг 3. Запустите деплой сервисов:

dctl instance deploy <deploy_name> services

Примечание

При обновлении шаблонов могут происходить конфликты обновления. Если вы не уверены, что делаете, то лучше обратитесь к разработчикам Moncloud.

Обновление с добавлением SSL/TLS

Проведите настройку SSL/TLS согласно инструкции

Если первоначально развёртывание было создано без SSL/TLS, то для добавления SSL/TLS необходимо зайти на один из узлов управления и выполнить:

sudo pcs resource bundle update haproxy-bundle storage-map add \
source-dir=/etc/pki/tls/private/overcloud_endpoint.pem \
target-dir=/etc/pki/tls/private/overcloud_endpoint.pem \
options=ro

Обновление узла развёртывания

Примечание

Не требуется при обновлении OpenStack или Ceph.

Запустите полное обновление узла развёртывания:

dctl update undercloud

Обновление системы хранения

(В разработке)