Развёртывание облака¶
Зайдите в DeckCrew TUI
dctui
Перейдите в Меню развёртывания, затем во вкладку Deployment.
┌────────────────────────────────────────── Deployment process ──────────────────────────────────────────┐
│ < Refresh/Ctrl+R > │
│ █
│Stack status ░
│ last_action: Validate Teamplates ░
│ status: DEPLOY_SUCCESS ░
│ ░
│Debug mode ░
│ [ ] No launch. Generate deployment script only ░
│ ░
│Pick deployment action ░
│ (•) Prepare Networks ░
│ ( ) Prepare Virtual IPs ░
│ ( ) Provision Nodes ░
│ ( ) Validate Teamplates ░
│ ( ) Deploy OpenStack ░
│ ( ) Update Known Hosts ░
│ ░
│ [ ] Activate danger section ░
│ (•) Update Partition ░
│ ( ) Delete Nodes ░
│ ( ) Delete Deployment ░
│ ░
│Set extra settings for deployment action ░
│ ░
│--------------------------------------------------------------------------------------------------------░
│Logs ░
│ ░
│ < Start/Ctrl+A > < Stop/Ctrl+D > < Cancel/Ctrl+C > │
└────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Сверху отображается статус развёртывания.
Развёртывание состоит из нескольких стадий:
- Prepare Networks, или Подготовка сети - на этом этапе создаются сети, настроенные ранее.
- Prepare Virtual IPs, или Подготовка виртуальных IP-адресов - на этом этапе создаются виртуальные IP-адреса, настроенные ранее.
- Provision Nodes, или Подготовка узлов - на этом этапе при помощи Ironic разворачиваются операционные сети на узлы и настраиваются сети.
- Validate Teamplates, или Проверка шаблонов - на этом этапе проверяются настройки шаблонов.
- Deploy OpenStack, или Развёртывание OpenStack - на этом этапе разворачиваются сервисы OpenStack на узлах. Если вы пропустили этап Validate Templates, то укажите в Set extra settings for deployment action параметр Deploy with Stack Update.
- Update Known Hosts, или Обновление известных хостов - на этом этапе обновляется файл .ssh/known_hosts на узле развёртывания.
Также можно использовать Debug режим, при котором команда для запуска развёртывания не выполняется, а сохраняется в /tmp/deploy-
После создания сервера статус физического узла меняется с available на active в списке физических серверов.
Нулевое развёртывание¶
Нулевое развёртывание означает, что Stack status для данного развёртывания отображает пустые значения для всех параметров.
В этом случае необходимо запустить по порядку все Deployment actions на экране по порядку, дождавшись окончания предыдущего.
В случае любых проблем и ошибок на каждом этапе необходимо исправить ошибки и запустить развёртывание заново. Ни один из этапов не может быть пропущен!
Обновление параметров развёртывания¶
Этот пункт вам подходит, если вы изменили:
- порядок интерфейсов для узла, участвующего в этом развёртывании
- диск операционной системы для узла, участвующего в этом развёртывании
- параметры сети
- параметры сети для роли
- состав сервисов для роли
- сетевой план для роли
- пароли для сервисов
- фиксированные IP-адреса
- настройки опций для сервисов
В этом случае необходимо сначала обновить изменённые параметры в системе узла развёртывания.
Для этого пройдите первый этап Validate Teamplates, затем перейдите к этапу Deploy OpenStack и выполните его.
Удалять уже развёрнутые сети таким образом нельзя!
Обновление контейнеров¶
Все образы контейнеров хранятся в репозитории на узле развёртывания. Адрес
репозитория <hostname>.ctlplane:13787, далее используется
undercloud.ctlplane:13787.
Для обновления образов контейнеров используйте команду skopeo. Например, с узла развёртывания выполните команду:
skopeo copy docker://obs:82/acloud/openstack-nova-compute:latest \
docker://undercloud.ctlplane:13787/acloud/openstack-nova-compute:latest
Этой командой обновляются образы контейнеров в реестре на узле развёртывания. Для того чтобы загрузить обновлённые образы на узлы облака, необходимо зайти на узел облака и выполнить команду:
sudo podman pull undercloud.ctlplane:13787/acloud/openstack-nova-compute:latest
Для пересоздания контейнеров на узлах необходимо выполнить Deploy OpenStack. Эта операция пересоздаст все контейнеры на узлах. Также будут пересозданы все конфигурации из папки /var/lib/config-data/, где хранятся конфигурации сервисов OpenStack. Данные сервисов OpenStack не будут потеряны, так как все данные, как правило, хранятся во внешних по отношению к контейнерам вольюмах на хосте контейнера.
Внимательно! Операция Deploy OpenStack не затронет работу Pacemaker и Ceph.
Для того чтобы обновить контейнеры управляемые Pacemaker, необходимо с одного из узлов управления выполнить команду:
sudo podman tag undercloud.ctlplane:13787/acloud/<image_name>:latest \
undercloud.ctlplane:13787/acloud/<image_name>:pcmklatest
sudo pcs status
sudo pcs resource restart <service_resource>
Например
sudo podman tag undercloud.ctlplane:13787/acloud/openstack-haproxy:latest \
undercloud.ctlplane:13787/acloud/openstack-haproxy:pcmklatest
sudo pcs status
sudo pcs resource restart haproxy-bundle-podman-0
Добавление узлов в облако¶
Для добавления новых узлов необходимо пройти пункты из Подготовка развёртывания с нуля, касающиеся физических машин:
- Физические узлы
- Интроспекция
- Порядок физических интерфейсов
- Диск операционной системы
- Физические порты
Затем в Меню развёртывания в окне Roles/Nodes and Networks добавьте ваш узел и перейдите к стадии развёртывания.
На стадии развёртывания сначала добавьте новый сервер, выполнив Provision Nodes.
При успешном добавлении сервера, выполните Update Known Hosts.
Далее выберите Deploy OpenStack и поставьте галочки в дополнительных параметрах снизу в полях: undercloud,
Удаление развёрнутых узлов из облака¶
Для выведения узла из развёртывания перейдите в раздел Deployment, поставьте галку рядом с Activate danger section и выберите Delete Nodes.
┌────────────────────────────────────────── Deployment process ──────────────────────────────────────────┐
│ < Refresh/Ctrl+R > │
│ █
│Stack status ░
│ last_action: Validate Teamplates ░
│ status: DEPLOY_SUCCESS ░
│ ░
│Debug mode ░
│ [ ] No launch. Generate deployment script only ░
│ ░
│Pick deployment action ░
│ (•) Prepare Networks ░
│ ( ) Prepare Virtual IPs ░
│ ( ) Provision Nodes ░
│ ( ) Validate Templates ░
│ ( ) Deploy OpenStack ░
│ ( ) Update Known Hosts ░
│ ░
│ [✓] Activate danger section ░
│ ( ) Update Partition ░
│ (•) Delete Nodes ░
│ ( ) Delete Deployment ░
│ ░
│Set extra settings for deployment action ░
│[ ] test-compute-0 ░
│[ ] test-compute-1 ░
│[ ] test-controller-0 ░
│[ ] test-controller-1 ░
│[ ] test-controller-2 ░
│ ░
│--------------------------------------------------------------------------------------------------------░
│Logs ░
│ ░
│ ░
│ < Start/Ctrl+A > < Stop/Ctrl+D > < Cancel/Ctrl+C > │
└────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Выберите узлы для удаления и нажмите кнопку Start.
Затем вернитесь в меню Roles/Nodes and Networks и удалите ваш узел из списка узлов используя кнопку Delete.
Замена развёрнутых узлов в облаке¶
Для замены узла необходимо сначала добавить новый физический узел и настроить его согласно инструкции из Добавление узлов в облако.
Затем перейдите в раздел Roles/Nodes and Networks, удалите узел, который хотите заменить, и добавьте новый узел.
Затем в разделе Deployment выполните Provision Nodes, Update Known Hosts и Deploy OpenStack.
Частичное развёртывание¶
На стадии Run Cloud Service Deployment обновляется окно выбора c опциями Limit to:
┌────────────────────────────────────────── Deployment process ──────────────────────────────────────────┐
│ < Refresh/Ctrl+R > │
│ █
│Stack status ░
│ last_action: Validate Teamplates ░
│ status: DEPLOY_SUCCESS ░
│ ░
│Debug mode ░
│ [ ] No launch. Generate deployment script only ░
│ ░
│Pick deployment action ░
│ ( ) Prepare Networks ░
│ ( ) Prepare Virtual IPs ░
│ ( ) Provision Nodes ░
│ ( ) Validate Teamplates ░
│ (•) Deploy OpenStack ░
│ ( ) Update Known Hosts ░
│ ░
│ [ ] Activate danger section ░
│ (•) Update Partition ░
│ ( ) Delete Nodes ░
│ ( ) Delete Deployment ░
│ ░
│Set extra settings for deployment action ░
│[ ] Deploy with Stack Update ░
│[ ] Limit to undercloud ░
│[ ] Limit to test-compute-0 ░
│[ ] Limit to test-compute-1 ░
│[ ] Limit to test-controller-0 ░
│[ ] Limit to test-controller-1 ░
│[ ] Limit to test-controller-2 ░
│ ░
│--------------------------------------------------------------------------------------------------------░
│Logs ░
│ ░
│ < Start/Ctrl+A > < Stop/Ctrl+D > < Cancel/Ctrl+C > │
└────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Отметьте узлы для развёртывания и нажмите Start.
При добавлении новых узлов отмечайте помимо нового узла undercloud и