Подготовка и установка OpenStack

Запустите DeckCrew TUI с узла развёртывания.

Меню развёртывания

Создайте новое развёртывание типа OpenStack.

Если OpenStack планируется развернуть:

  • без Ceph, то создайте единственное развёртывание типа OpenStack.

  • с Ceph, то создайте сначала развёртывание Ceph, затем OpenStack.

Перейдите в меню вашего развёртывания.

Сетевые планы

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

В сетевой план обязан входить OpenVSwitch мост с именем br-ex, так как через него настраиваются все тенант-сети облака.

Можно использовать дефолтный сетевой план single_nic_vlans/single_nic_vlans.j2.

Роли/Узлы и Сети ролей

Настройте узлы.

Доступные роли:

  • Controller - узлы контроллеры

  • Compute - узлы виртуализации

  • PowerOfThree - совмещённая роль контроллера и узла виртуализации

  • Monitoring - узлы мониторинга (опционально, по умолчанию мониторинг поднимается на контроллерах)

Виртуальные IP-адреса

При необходимости можно зафиксировать или настроить самостоятельно виртуальные IP-адреса. По умолчанию они генерятся автоматически для сетей ctlplane, external, internal_api.

Пароли

Можно пропустить этот шаг или настроить пароли самостоятельно.

Здесь обратите внимание на поля:

  • AdminPassword - это пароль для пользователя admin в развёртываемом облаке

  • CephClientKey, CephClusterFSID - значения обязательные для связи сервисов OpenStack с Ceph.

Настройка точек подключения для сервисов облака

Можно пропустить этот шаг или настроить точки подключения самостоятельно, если:

  • Используется ssl подключение к API облака.

  • Требуется подключение по IP-адресам, а не доменным именам для сервисов.

  • Требуется использовать Ctlplane сеть для административного подключения к сервисам.

Настройки сервисов облака

Настройте NtpServers и DnsServers.

Подключите CephExternal если используется внешний Ceph кластер (в том числе развёрнутый через dctui).

Дополнительно можно настроить дополнительные сервисы:

  • Amano, Tram вместо OVN,

  • Designate,

  • Ironic, IronicInspector,

  • Octavia.

Включите опцию StandaloneMonitoring, если ранее был добавлен узел в роли Monitoring.

Также доступны настройки сервиса Keystone:

  • FederationOpenidc,

  • KeysoneLdapBackend,

  • KeystoneSecurityCompliance.

При определении бэкендов сервисов необходимо учитывать, что для Glance и Nova может быть выбран только один. Для сервиса Cinder может использоваться несколько разных бэкендов.

Добавление SSL/TLS для публичных сервисов API

  1. В настройках для развёртывания зайти во вкладку Endpoint Data.

  2. Под заголовком TLS нажать кнопку < use >.

  3. Далее нажать кнопку < Generate Map/Ctrl+A >.

  4. Далее зайти во вкладку Service Settings.

  5. Добавить свойство Tls и заполнить значения для сертификата и ключа.

  6. Зайти в свойство CustomDomain и указать dns имя, используемое в сертификате, в поле CloudName.

  7. Если сертификат планируется самоподписанный, то добавить свойство TlsCustomCa и заполнить root сертификат.

  8. Если в сертификате используется IP-адрес, то зайдите из меню развёртывания во вкладку Virtual IPs, добавьте или измените запись для сети external и укажите IP-адрес в поле IP Address.

Инструкция по добавлению SSL/TLS

Генерация самоподписанного сертификата

Создайте плейбук вида generate_cert.yml со следующим содержимым:

- hosts: localhost
  vars:
    ssl_dir: /etc/deckcrew/certs/acloud
  tasks:
    - import_role:
        name: dc-cert
      vars:
        ssl_ca_common_name: novalocal
        ssl_subject_dns: acloud.novalocal
        ssl_subject_ip: 10.10.10.100

где ssl_subject_dns - это параметр CustomDomain/CloudName в настройках сервисов облака, ssl_subject_ip - виртуальный IP-адрес в сети external.

Запустите плейбук

ansible-playbook generate_cert.yml

Результат будет расположен в папке /etc/deckcrew/certs

[stack@undercloud ~]$ ls /etc/deckcrew/certs/acloud
ca.crt.pem  ca.key.pem  openstack.crt.pem  openstack.key.pem

Запуск развёртывания

Выполните все шаги развёртывания.