Установка узла развёртывания
Подключение установочного диска
Цель — загрузиться с образа undercloud.iso.
При старте сервера запустится псевдографическая установка операционной системы.
Если используется установка с флешки, вставьте флешку в сервер и подключитесь к экрану физического сервера через консольный порт или подключённый дисплей.
Если используется установка через BMC, подключитесь к виртуальной консоли BMC. Примонтируйте образ через виртуальную консоль BMC. В BIOS/UEFI укажите загрузку с виртуального CD/DVD.
Если используется установка в виртуальной машине, создайте на используемом хосте ВМ (см. Установка узла развёртывания в виртуальной машине (Rocky 9)) и подключитесь к виртуальной консоли виртуализации. Инсталлятор андерклауда не пробрасывается в серийную консоль, поэтому используйте для подключения virt-manager:
убедитесь, что на вашей рабочей машине установлен X-сервер: в Linux с любой графической оболочкой он есть по умолчанию, для Windows используйте VcXsrv, для MacOS — XQuartz;
установите на рабочую машину virt-manager (например, через пакетный менеджер или через официальный сайт);
настройте root доступ без пароля к хосту, на котором расположена ВМ развёртывания (например, через добавление на хост вашего SSH-ключа в
/root/.ssh/authorized_keys);запустите virt-manager и добавьте соединение к хосту через пользователя root.
Примечание
При использовании виртуальной машины в VMware ESXi убедитесь, что в настройках сети выделенной под Ctlplane политики безопасности переведены в режим access: Promiscuous Mode, MAC Address Changes и Forged Transmits.
Результат: запускается псевдографический установщик.
Установка операционной системы
Цель — установить ОС на сервер.
Подключитесь к консоли.
Выберите диск для установки.
Примечание
Минимум 100 ГБ, лучше SSD. Рабочий сценарий — 150 ГБ (см. Требования к оборудованию и ПО).
Выбор диска
Все данные на диске будут удалены. Подтвердите действие.
Подтверждение удаления
Дождитесь проверки образа
undercloud.raw. Это может занять несколько минут.
Результат: установленная ОС на узле развёртывания.
Пользователь: stack.
Пароль: по умолчанию (обратитесь в поддержку для получения пароля).
Установка системы развёртывания
Цель — задать сеть управления и запустить настройку сервисов узла управления.
Залогиньтесь в систему под пользователем stack с паролем по умолчанию.
Настройка доступа к узлу развёртывания
Цель — настроить SSH-доступ к узлу развёртывания для удобства работы.
Добавьте интерфейс из сети External из таблицы сетевой конфигурации:
Примечание
Можно использовать любую другую сеть не из таблицы, но в этом случае необходимо дополнительно настроить маршрутизацию в сети External, чтобы узел развёртывания имел доступ к Public API развёртываемого OpenStack.
sudo nmcli con add type vlan con-name VLAN<номер External Vlan> dev <имя интерфейса External> id <номер External Vlan> ip4 <IP адрес/маска External>
sudo ip route add default via <шлюз External>
Пример:
sudo nmcli con add type vlan con-name VLAN373 dev eno2 id 373 ip4 10.198.73.100/24
sudo ip route add default via 10.198.73.1
- Где:
10.198.73.100— незанятый IP в сети External, адрес undercloud373— VLAN ID сети External,10.198.73.1— шлюз из таблицы сетевой конфигурации (столбец Шлюз для сети External).
Теперь можно подключиться по SSH:
ssh stack@<IP адрес undercloud>
Пример:
ssh stack@10.198.73.100
Используйте один из способов для настройки узла развёртывания:
через графический инсталлятор (рекомендуемый способ);
через клиент командной строки.
Графический инсталлятор
Далее запустите инсталлятор для настройки узла, выполнив sudo undercloud-firstboot:
┌───────────────────────────────────────── Undercloud Firstboot ─────────────────────────────────────────┐
│Primary network interface [ ]│
│Ctlplane CIDR 192.168.24.0/24 █
│Undercloud local IP 192.168.24.1 ░
│Gateway 192.168.24.1 ░
│Ctlplane DHCP start IP 192.168.24.35 ░
│Ctlplane DHCP end IP 192.168.24.235 ░
│Introspection DHCP start IP 192.168.24.16 ░
│Introspection DHCP end IP 192.168.24.34 ░
│Undercloud Nameservers ░
│Undercloud NTP Servers ░
│────────────────────────────────────────────────────────────────────────────────────────────────────────░
│Advanced settings ░
│────────────────────────────────────────────────────────────────────────────────────────────────────────░
│Hostname undercloud.localdomain ░
│Overcloud Domain Name novalocal ░
│Timezone Etc/GMT-3 ░
│ ░
│ < Save/Ctrl+U > < Start/Ctrl+A > < Quit/Ctrl+X > │
└────────────────────────────────────────────────────────────────────────────────────────────────────────┘
В поле Primary network interface укажите интерфейс для сети Ctlplane (например,
eno1).Внимание
Интерфейс не должен использоваться для доступа к узлу развёртывания.
В поле Ctlplane CIDR оставьте значение по умолчанию
192.168.24.0/24, если в вашей таблице сетевой конфигурации не указано иное. Если значение отличается — укажите его вручную, остальные параметры сети укажите по аналогии.Примечание
После установки изменить сеть Ctlplane будет крайне сложно. Убедитесь, что параметры согласованы до развёртывания.
Важно
В сети Ctlplane не должно быть другого DHCP-сервера — undercloud запускает свой.
Nameservers и NTP Servers укажите существующие из общих сетевых параметров.
Nameservers:
x.x.x.x, y.y.y.y(укажите через запятую)NTP Servers:
ntp1.example.ru, ntp2.example.ru(укажите через запятую)Дополнительные параметры:
Undercloud Hostname — имя хоста undercloud (по умолчанию
undercloud.novalocal).Overcloud Domain Name — домен для узлов облака (по умолчанию
novalocal).Undercloud Timezone — часовой пояс.
После введения всех настроек перейдите к установке, нажав кнопку Start или комбинацию клавиш Ctrl+A.
Клиент командной строки
Альтернативно, для настройки узла развёртывания через командную строку используйте команду sudo undercloud-firstboot install:
usage: undercloud-firstboot install [-h] [--hostname HOSTNAME] --local-interface LOCAL_INTERFACE
[--local-ip LOCAL_IP] [--local-mtu LOCAL_MTU]
[--nameservers NAMESERVERS] --ntp-servers NTP_SERVERS
[--overcloud-domain-name OVERCLOUD_DOMAIN_NAME]
[--timezone TIMEZONE] [--cidr CIDR] [--dhcp-end DHCP_END]
[--dhcp-start DHCP_START] [--gateway GATEWAY]
[--host-routes HOST_ROUTES]
[--inspection-iprange INSPECTION_IPRANGE] [--disable-validations]
options:
-h, --help show this help message and exit
--hostname HOSTNAME Fully qualified hostname (including domain) to set on the Undercloud. If left
unset, the current hostname will be used, but the user is responsible for
configuring all system hostname settings appropriately. If set, the undercloud
install will configure all system hostname settings. (Default:
undercloud.novalocal)
--local-interface LOCAL_INTERFACE
Network interface on the Undercloud that will be handling the PXE boots and
DHCP for Overcloud instances. Ex. eth0
--local-ip LOCAL_IP IP information for the interface on the Undercloud that will be handling the
PXE boots and DHCP for Overcloud instances. The IP portion of the value will be
assigned to the network interface defined by local_interface, with the netmask
defined by the prefix portion of the value. (Default: 192.168.24.1/24)
--local-mtu LOCAL_MTU
MTU to use for the local_interface. (Default: 1500)
--nameservers NAMESERVERS
DNS nameserver(s). Use for the undercloud node and for the overcloud nodes.
(NOTE: To use different nameserver(s) for the overcloud, override the
DnsServers parameter in overcloud environment.) (Default: [])
--ntp-servers NTP_SERVERS
List of ntp servers to use.
--overcloud-domain-name OVERCLOUD_DOMAIN_NAME
DNS domain name to use when deploying the overcloud. The overcloud parameter
"CloudDomain" must be set to a matching value. (Default: novalocal)
--timezone TIMEZONE Host timezone to be used. If no timezone is specified, the existing timezone
configuration is used. (Default: Etc/GMT-3)
--cidr CIDR Network CIDR for the Neutron-managed subnet for Overcloud instances. (Default:
192.168.24.0/24)
--dhcp-end DHCP_END End of DHCP allocation range for PXE and DHCP of Overcloud instances on this
network. (Default: 192.168.24.235)
--dhcp-start DHCP_START
Start of DHCP allocation range for PXE and DHCP of Overcloud instances on this
network. (Default: 192.168.24.35)
--gateway GATEWAY Network gateway for the Neutron-managed network for Overcloud instances on this
network. (Default: 192.168.24.1)
--host-routes HOST_ROUTES
Host routes for the Neutron-managed subnet for the Overcloud instances on this
network. The host routes on the local_subnet will also be configured on the
undercloud. (Default: [])
--inspection-iprange INSPECTION_IPRANGE
Temporary IP range that will be given to nodes on this network during the
inspection process. Should not overlap with the range defined by dhcp_start and
dhcp_end, but should be in the same ip subnet. (Default:
192.168.24.16,192.168.24.34)
--disable-validations
Disable undercloud validations. (Default: False)
Обратите внимание, что локальный адрес узла развёртывания в этом случае указывается с маской подсети, а адреса для пула адресов интроспекции - через запятую.
Пример использования команды:
$ sudo undercloud-firstboot install --local-interface eth0 \
--nameservers 77.88.8.1,77.88.8.8
Или пример со сменой сети администрирования:
$ sudo undercloud-firstboot install --local-interface eth0 \
--cidr 192.168.25.0/24 \
--local-ip 192.168.25.10/24 --gateway 192.168.25.1 \
--dhcp-start 192.168.25.135 --dhcp-end 192.168.25.140 \
--inspection-iprange 192.168.25.141,192.168.25.145
Устранение ошибок
Примечание
Логи установки можно посмотреть в /var/log/undercloud.log.
Ошибка ntp
2025-10-27 08:15:41.669337 | 002590bb-0ebf-e9da-4309-00000000b7e8 | IGNORED | Ensure system is NTP time synced | undercloud | error={"changed": true, "cmd": ["chronyc", "waitsync", "30"], "delta": "0:04:50.304777", "end": "2025-10-27 08:15:41.637736", "msg": "non-zero return code", "rc": 1, "start": "2025-10-27 08:10:51.332959", "stderr": "", "stderr_lines": [], "stdout": "try: 1, refid: 7F7F0101, correction: 0.000000000, skew: 0.000\ntry: 2, refid: 7F7F0101, correction: 0.000000000, skew: 0.000\ntry: 3, refid: 7F7F0101, correction: 0.000000000, skew:
...
e9da-4309-00000000b7e8 | TIMING | chrony : Ensure system is NTP time synced | undercloud | 0:07:09.072453 | 290.53s
INTERACTIVE MODE
Такая ошибка возникает, когда ntp сервер не может выполнить синхронизацию.
Исправьте доступ к NTP-серверу или ошибки синхронизации с ним.
Если при установке после ошибки выводится Enter command:, введите re (означает Retry) и нажмите ENTER, установка продолжится.
Принципы работы
Важно
Ваш узел развёртывания готов! Основной пользователь - stack.
Примечание
После установки узла развёртывания можно запустить dctui, чтобы убедиться, что узел установлен правильно. Если узел развёртывания не установлен правильно, то dctui не запустится.
На узле развёртывания поднимается три сервиса OpenStack, которые затем используются для настроек, управления и хранения данных о создаваемых ресурсах.
Neutron - используется для хранения данных о сетях и портах физических узлов.
Ironic - используется для хранения данных о физических узлах и их состоянии, а также используется для развёртывания операционной системы на узлах через PXE.
Ironic Inspector - используется для сбора и хранения данных о физических узлах. Участвует только при выполнении интроспекции и запускается только на целевом узле, который проходит процесс интроспекции.
Heat - поднимается как сервис только в момент развёртывания и сохраняет все свои данные в /usr/lib/deckcrew/overcloud-deploy. Для тестовых целей может быть поднят вручную командой:
openstack tripleo launch heat
и остановлен:
openstack tripleo launch heat --kill
Важно
При первоначальной установке в Neutron заводится сеть Ctlplane, которая далее используется для всех развёртываний. Поменять её уже будет нельзя, поэтому будьте внимательны при настройке сети администрирования.