Предварительная подготовка и основные концепции
Дистрибутив построен на базе проекта TripleO (аббревиатура “OpenStack-On-OpenStack”), который позволяет автоматизировать процесс развёртывания облачной платформы на базе OpenStack Bobcat.
TripleO использует два главных концепта – Undercloud и Overcloud. Undercloud (узел развёртывания) устанавливает и настраивает Overcloud (рабочее облако или Ceph).
Общая схема развёртывания
Настроить сети на коммутаторах.
Добавить VLAN’ы из таблицы сетевой конфигурации на все порты серверов.
Внимание
Важно заранее согласовать сетевую таблицу, которая будет использоваться как при настройке коммутаторов, так и при конфигурировании сетей облака. Пример такой таблицы приведён ниже.
Установить узел развёртывания.
Установить ОС moncloud на физический сервер или ВМ. Далее все действия выполняются на этом узле.
Добавить лицензионный ключ.
Получить лицензионный ключ у правообладателя и добавить лицензию на узел развёртывания.
Развернуть хранилище.
Настроить и запустить установку развёртывания типа Ceph.
Развернуть облако.
Настроить и запустить установку развёртывания типа OpenStack.
Проверить работу.
Убедиться, что облако работает (создаются инстансы).
Эксплуатация.
Узел развёртывания не участвует в работе облака. Использовать его только для обновлений и изменений конфигурации.
Сетевая конфигурация
Перед продумыванием архитектуры развёртываемой системы необходимо прочитать Требования к оборудованию и ПО.
Название сети |
Подсеть/Маска |
VLAN |
Шлюз |
MTU |
Назначение |
|---|---|---|---|---|---|
Ctlplane |
192.168.24.0/24 |
374 (untagged/access) |
— |
9000 |
Управление и PXE-загрузка. Эта сеть должна быть изолирована от внешнего мира и использована только на узлах облака и развёртывания. |
External (Public API) |
10.198.73.0/24 |
373 |
10.198.73.1 |
1500 |
Доступ пользователей OpenStack к API и веб-интерфейсу. Часто с интернетом. |
InternalApi |
10.198.72.0/24 |
372 |
— |
9000 |
Внутреннее взаимодействие сервисов OpenStack. Заводится только на узлах облака. |
Storage |
10.198.71.0/24 |
371 |
— |
9000 |
Трафик между вычислительными узлами облака и хранилищами (Ceph и другие). |
IPMI (BMC) |
10.99.4.0/24 |
2399 |
— |
— |
Учитывается, но не используется в облаке. Эта сеть должна быть доступна с узла развёртывания. |
Tenant (опционально) |
(Создается после развёртывания) |
— |
— |
1500 |
Сети для виртуальных машин. Сетей этого типа может быть много, их VLAN’ы должны заводиться на коммутаторах. При деплое не используется. |
Расположение сетей
При наличии существующих NTP и DNS серверов, которые будут использоваться при развёртывании облака, необходимо их получить и в дальнейшем указать при развёртывании.
Параметр |
Значение |
|---|---|
DNS (Nameservers) |
При наличии заполняется через запятую, например: |
NTP Servers |
При наличии заполняется через запятую, например: Обязателен для узла развёртывания |
При продумывании Storage сети необходимо учитывать используемые хранилища облака:
При использовании Ceph - рекомендуется использовать MTU 9000 для улучшения производительности.
При развёртывании Ceph из нашего дистрибутива используйте одну Storage сеть для Ceph и OpenStack развёртываний.
При использовании других хранилищ используйте ту же Storage сеть, по которой осуществляется доступ к выделенным блочным хранилищам облака.
При использовании нескольких хранилищ используйте одну Storage сеть, а остальные заведите как дополнительные сети с другими названиями (например, CephExternalAccess).
Узел развёртывания
Сетевая топология. Узел развёртывания обязан иметь как минимум два интерфейса:
один для доступа к узлу по SSH администраторами (чаще всего External)
один для основной сети администрирования/Ctlplane.
Для сети администрирования необходимо знать следующее:
CIDR сети - любой, по умолчанию используется
192.168.24.0/24Поменять сеть администрирования нельзя после первого развёртывания, поэтому будьте внимательны при выборе сети.
IP-адрес из этой сети для узла развёртывания - по умолчанию
192.168.24.1Два пула адресов из этой сети для двух различных DHCP серверов, которые будут подняты на узле развёртывания.
Важно
В этой сети не должно существовать других DHCP серверов.
Первый пул адресов Ctlplane DHCP должен содержать IP-адресов больше, чем планируемый максимум всех физических узлов, используемых в развёртывании, и по два на каждое развёртывание.
Второй пул адресов Introspection DHCP соответствует максимуму одновременно интроспектируемых узлов. Это может быть небольшое число и, как правило, 10 адресов достаточно.
Второй пул адресов Introspection DHCP не должен пересекаться с первым пулом для Ctlplane.
Все физические узлы должны иметь хотя бы один интерфейс с L2 доступом к сети администрирования для загрузки узла по PXE.
Сеть администрирования должна присутствовать только внутри организации и не должна быть доступна извне, так как по ней осуществляется доступ по SSH ко всем физическим узлам, кроме узла развёртывания.
Важно
С узла развёртывания должны быть доступны используемые в развёртывании DNS сервера, NTP сервера и BMC адреса для всех физических узлов. Поэтому заранее должны быть продуманы DNS и NTP сервера организации.
Важно
С узла развёртывания должна быть доступна Public API сеть развёртываемого облака для настройки стартовых admin домена, проекта и пользователя. Эта сеть называется External в таблице сетей.
+--------------------------------------------------------------------------------------------------------+
| |
| Администратор Развёртывания |
| | |
| | SSH доступ |
| v +----------------------------+|
| +----------------------+ | Развёртываемое облако ||
| | Узел развёртывания | |----------------------------||
| |----------------------| | +----------------------+ ||
| | eth0 - SSH / Mgmt | | | API / VIP | ||
| | eth1 - Ctlplane | | +----------------------+ ||
| +----------+-----------+ | +----------------------+ ||
| | | | Сервисы | ||
| | . . . . . . . . . . . . . . . . | +----------------------+ ||
| | . L3 доступ к облаку . | +----------------------+ ||
| | . маршрутизируемый доступ к ..>| | Сети облака | ||
| | . API / VIP / сервисным сетям . | +----------------------+ ||
| | . . . . . . . . . . . . . . . . +----------------------------+|
| | |
| | |
| | Сеть администрирования (Ctlplane) |
|========================================================================================================|
| | |
| v |
| +-----------------------------------------------+ |
| | DHCP сервисы на узле развёртывания | |
| +-----------------------------------------------+ |
| | | |
| | 1) Ctlplane DHCP Pool | |
| | Должен покрывать ВСЕ узлы системы | |
| | +2 IP на каждое развёртывание | |
| | | |
| | пример: | |
| | 3 controller | |
| | 50 compute | |
| | 50 storage | |
| | = минимум 105 IP | |
| | | |
| |-----------------------------------------------| |
| | 2) Introspection DHCP Pool | |
| | Для PXE интроспекции узлов | |
| | Обычно ~10 IP | |
| | | |
| | ВАЖНО: | |
| | не пересекается с Ctlplane Pool | |
| +--------------------+--------------------------+ |
| | |
| | |
| v |
| +------------------+ +------------------+ +------------------+ |
| | Физический | | Физический | | Физический | |
| | узел | | узел | | узел | |
| |------------------| |------------------| |------------------| |
| | PXE interface | | PXE interface | | PXE interface | |
| | L2 доступ к | | L2 доступ к | | L2 доступ к | |
| | сети | | сети | | сети | |
| | администрирования| | администрирования| | администрирования| |
| +------------------+ +------------------+ +------------------+ |
| |
+--------------------------------------------------------------------------------------------------------+
Физические узлы
Перед началом развёртывания необходимо получить учётные данные BMC для каждого сервера.
Заполните таблицу физических серверов заранее:
Название |
Роль |
BMC IP / SSH IP |
Сетевые интерфейсы |
Диски |
PXE mac-адрес / Ctlplane IP |
|---|---|---|---|---|---|
Удобное имя для отображения в интерфейсе |
Controller/Compute |
IP адрес BMC, если узел будет разворачиваться через BMC. Или IP адрес для доступа по SSH к уже развёрнутому узлу. |
Список интерфейсов и их мак адресов |
Список дисков, имён и размеров |
MAC-адрес интерфейса, который будет использоваться для PXE загрузки. |
node-b1 |
Controller |
10.99.4.11 |
|
|
aa:bb:cc:dd:ee:ff |
node-b2 |
Compute |
10.99.4.11 |
|
|
aa:bb:cc:dd:ef:ff |
Перед развёртыванием убедитесь, что в BIOS каждого сервера:
Первым стоит загрузка по PXE;
Вторым — загрузка с диска.
Для этого необходимо:
Загрузить узел в BIOS;
Включить режим UEFI;
Включить режим загрузки по сети (PXE) по одному сетевому интерфейсу в сети Ctlplane (сохранить MAC-адрес этого интерфейса);
Выставить приоритет загрузки по PXE перед загрузкой с диска.
Примечание
При заведении записей о физических узлах в dctui никакие действия с узлами в этот момент не выполняются,
производятся только вызовы API к Ironic для сохранения данных об этих узлах.
Система также поддерживает использование уже развёрнутых узлов, для этого:
Разверните на узле операционную систему
overcloud.x86_64.isoиз дистрибутива;Загрузите узел в операционную систему;
Настройте доступ к узлу с узла развёртывания по SSH c sudo правами.