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

Действия администратора системы после установки

После установки системы можно выполнить несколько действий через dctui. Для этого зайдите во вкладку Cloud Admin Actions в меню развёртывания:

+----------------------------------------- Cloud Admin Actions ------------------------------------------+
|Restart    ⏷ Collapse                                                                                   |
|Configure  ⏷ Collapse                    [service]                                Running processes     O
|           galera                                     [restart button]                                  |
|           neutron                       -----------------------------------------                      |
|           neutron_ml2                   all                                                            |
|           nova_libvirt                               Compute                                           |
|           nova                                       PowerOfThree                                      |
|           barbican                      -----------------------------------------                      |
|                                         cinder                                                         |
|Extra      ⏷ Collapse                                 Controller                                        |
|           haproxy                                    Pacemaker                                         |
|           galera-local-connection       -----------------------------------------                      |
|                                         glance                                                         |
|                                                      Controller                                        |
|                                         -----------------------------------------                      |
|                                         horizon                                                        |
|                                                      Controller                                        |
|                                         -----------------------------------------                      |
|                                         ironic                                                         |
|                                                      Controller                                        |
|                                         -----------------------------------------                      |
|                                         keystone                                                       |
|                                                      Controller                                        |
|                                         -----------------------------------------                      |
|                                         memcached                                                      |
|                                                      Controller                                        |
|                                         -----------------------------------------                      |
|                                         michman                                                        |
|                                                      Controller                                        |
|                                         -----------------------------------------                      |
|                                         neutron                                                        |
|                                                      Compute                                           |
|                                                      Controller                                        |
|                                         -----------------------------------------                      |
+--------------------------------------------------------------------------------------------------------+

Вы увидите список разделов:

  • Restart - перезапуск сервисов

  • Configure - конфигурация сервисов (без перезапуска сервисов)

  • Extra - дополнительные плейбуки:

    • haproxy - конфигурация haproxy

    • galera-local-connection - изменить подключение к galera с VIP адреса на локальный

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

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

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

  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 ----------------------------------------------+
|  < Refresh/Ctrl+R >                                                                                    |
|                                                                                                        O
|Stack status                                                                                            |
|  interactive: screen -x test                                                                           |
|  last_action: Deploy Services                                                                          |
|  logs: /var/log/deckcrew/test/dc-deploy-test.log                                                       |
|  status: DEPLOY_SUCCESS                                                                                |
|                                                                                                        |
|Debug mode                                                                                              |
|  [ ] No launch. Generate deployment script /tmp/dc-deploy-test                                         |
|                                                                                                        |
|Pick deployment action                                                                                  |
|  (X) Prepare Networks                                                                                  |
|  ( ) Create VIPs                                                                                       |
|  ( ) Provision Nodes                                                                                   |
|  ( ) Update Known Hosts                                                                                |
|  ( ) Validate Templates                                                                                |
|  ( ) Deploy Services                                                                                   |
|                                                                                                        |
|  [X] Activate danger section                                                                           |
|  ( ) Update Partition                                                                                  |
|  (X) Delete Nodes                                                                                      |
|  ( ) Delete Deployment                                                                                 |
|                                                                                                        |
|Set extra settings for deployment action                                                                |
|[ ] test-compute-0                                                                                      |
|[ ] test-controller-0                                                                                   |
|                                                                                                        |
|--------------------------------------------------------------------------------------------------------|
|  < Show log >                                                                                          |
|Logs                                                                                                    |
|  b'2025-12-05 17:20:40.231 784389 INFO osc_lib.shell [-] END return value: None\x1b[00m\n'             |
|                                                                                                        |
|                               < Start/Ctrl+A >          < Stop/Ctrl+D >          < Cancel/Ctrl+C >     |
+--------------------------------------------------------------------------------------------------------+

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

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

Шаг 2. Затем перейдите в меню Roles/Nodes and Networks и удалите ваш узел из списка узлов используя кнопку 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>

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

Реестр образов контейнеров находится на узле развёртывания на порту 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

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

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