Этот раздел описывает, как установить и настроить службу Вычислений, названную nova, на управляющем узле.
Перед установкой и конфигурацией сервиса вычислений вы должны создать базы данных, учетные записи сервиса и конечные точки API.
Для создания баз данных, выполните следующие шаги:
Используйте клиент баз данных для подключения к серверу БД под пользователем root
:
$ mysql -u root -p
Создайте nova_api
и nova
базы данных:
mysql> CREATE DATABASE nova_api;
mysql> CREATE DATABASE nova;
Предоставьте необходимый доступ к базам данных:
mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
mysql> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
Замените NOVA_DBPASS
подходящим паролем.
Закройте клиент баз данных.
Подставьте учетную запись admin
для получения доступа к инструкциям командной строки, доступным только администраторам:
$ . admin-openrc
Для создания служебных учётных данных, выполните следующие шаги:
Создайте пользователя nova
:
$ openstack user create --domain default \
--password-prompt nova
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 8a7dbf5279404537b1c7b86c033620fe |
| name | nova |
| password_expires_at | None |
+---------------------+----------------------------------+
Добавьте admin
роль пользователю nova
:
$ openstack role add --project service --user nova admin
Примечание
Эта команда ничего не выводит.
Создайте запись о сервисе nova
:
$ openstack service create --name nova \
--description "OpenStack Compute" compute
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Compute |
| enabled | True |
| id | 060d59eac51b4594815603d75a00aba2 |
| name | nova |
| type | compute |
+-------------+----------------------------------+
Создайте конечные точки API для Вычислительного сервиса:
$ openstack endpoint create --region RegionOne \
compute public http://controller:8774/v2.1/%\(tenant_id\)s
+--------------+-------------------------------------------+
| Field | Value |
+--------------+-------------------------------------------+
| enabled | True |
| id | 3c1caa473bfe4390a11e7177894bcc7b |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 060d59eac51b4594815603d75a00aba2 |
| service_name | nova |
| service_type | compute |
| url | http://controller:8774/v2.1/%(tenant_id)s |
+--------------+-------------------------------------------+
$ openstack endpoint create --region RegionOne \
compute internal http://controller:8774/v2.1/%\(tenant_id\)s
+--------------+-------------------------------------------+
| Field | Value |
+--------------+-------------------------------------------+
| enabled | True |
| id | e3c918de680746a586eac1f2d9bc10ab |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 060d59eac51b4594815603d75a00aba2 |
| service_name | nova |
| service_type | compute |
| url | http://controller:8774/v2.1/%(tenant_id)s |
+--------------+-------------------------------------------+
$ openstack endpoint create --region RegionOne \
compute admin http://controller:8774/v2.1/%\(tenant_id\)s
+--------------+-------------------------------------------+
| Field | Value |
+--------------+-------------------------------------------+
| enabled | True |
| id | 38f7af91666a47cfb97b4dc790b94424 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 060d59eac51b4594815603d75a00aba2 |
| service_name | nova |
| service_type | compute |
| url | http://controller:8774/v2.1/%(tenant_id)s |
+--------------+-------------------------------------------+
Примечание
Набор конфигурационных файлов по умолчанию может варьироваться между дистрибуциями. Вам может потребоваться добавить данные разделы и опции вместо того, чтобы изменять существующие. Также, эллипсис (...
) в конфигурационных сниппетах означают потенциальные опции конфигурации, которые вам необходимо сохранить без изменений.
Установите пакеты:
# apt install nova-api nova-conductor nova-consoleauth \
nova-novncproxy nova-scheduler
Отредактируйте файл /etc/nova/nova.conf
и выполните следующие действия:
Сконфигурируйте доступ к базе данных в разделах [api_database]
и [database]
:
[api_database]
...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
[database]
...
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
Replace NOVA_DBPASS
with the password you chose for
the Compute databases.
В разделе [DEFAULT]
настройте доступ к RabbitMQ
очереди сообщений:
[DEFAULT]
...
transport_url = rabbit://openstack:RABBIT_PASS@controller
Замените RABBIT_PASS
паролем, который вы выбрали для аккаунта openstack
в RabbitMQ
.
Настройте доступ к идентификатору в разделах [DEFAULT]
и [keystone_authtoken]
:
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = NOVA_PASS
Замените NOVA_PASS `` паролем, который вы выбрали для пользователя ``nova
в службе идентификации.
Примечание
Закомментируйте или удалите любые другие опции в разделе [keystone_authtoken]
.
Настройте опцию my_ip
в разделе [DEFAULT]
под использование IP адреса с менеджмент интерфейса на Управляющем узле:
[DEFAULT]
...
my_ip = 10.0.0.11
In the [DEFAULT]
section, enable support for the Networking service:
[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
Примечание
By default, Compute uses an internal firewall driver. Since the
Networking service includes a firewall driver, you must disable the
Compute firewall driver by using the
nova.virt.firewall.NoopFirewallDriver
firewall driver.
In the [vnc]
section, configure the VNC proxy to use the management
interface IP address of the controller node:
[vnc]
...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
В разделе [glance]
настройте расположение для API сервиса управления образами:
[glance]
...
api_servers = http://controller:9292
Настройте путь до файлов локов в разделе [oslo_concurrency]
:
[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp
Из-за ошибки в упаковке, удалите log-dir
опцию из раздела [DEFAULT]
.
Заполните базу данных Вычислительного сервиса:
# su -s /bin/sh -c "nova-manage api_db sync" nova
# su -s /bin/sh -c "nova-manage db sync" nova
Примечание
Проигнорируйте устаревшие сообщения в выходных данных.
Перезапустите службу Вычислений:
# service nova-api restart
# service nova-consoleauth restart
# service nova-scheduler restart
# service nova-conductor restart
# service nova-novncproxy restart
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.