Этот раздел описывает как установить и настроить сервис идентификации OpenStack, известный как keystone, на управляющем узле. Для масштабируемости, данная конфигурация разворачивает токены Fernet и Apache HTTP сервер для обработки запросов.
Before you install and configure the Identity service, you must create a database.
Используйте клиент баз данных для подключения к серверу БД под пользователем root
:
$ mysql -u root -p
Создайте базу данных keystone
:
MariaDB [(none)]> CREATE DATABASE keystone;
Предоставьте необходимый доступ к базе данных keystone
:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
Замените KEYSTONE_DBPASS
подходящим паролем.
Закройте клиент баз данных.
Примечание
Набор конфигурационных файлов по умолчанию может варьироваться между дистрибуциями. Вам может потребоваться добавить данные разделы и опции вместо того, чтобы изменять существующие. Также, эллипсис (...
) в конфигурационных сниппетах означают потенциальные опции конфигурации, которые вам необходимо сохранить без изменений.
Примечание
В этом руководстве используется HTTP сервер Apache с установленным ``mod_wsgi``для обслуживания запросов к сервису идентификации по портам 5000 и 35357. По умолчанию сервис keystone слушает эти порты. Тем не менее, в этом руководстве сервис keystone выключается.
Исполните следующую команду для установки пакетов:
# yum install openstack-keystone httpd mod_wsgi
Отредактируйте файл /etc/keystone/keystone.conf
и выполните следующие действия:
Сконфигурируйте доступ к базе данных в разделе [database]
:
[database]
# ...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
Замените KEYSTONE_DBPASS
на пароль, который вы выбрали для базы данных.
Примечание
Закомментируйте или удалите любые другие опции connection
в разделе [database]
.
В секции [token]
настройте службу токенов Fernet:
[token]
# ...
provider = fernet
Заполните базу данных службы Идентификации:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
Инициализируйте репозитории Fernet:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
Bootstrap the Identity service:
# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
Replace ADMIN_PASS
with a suitable password for an administrative user.
Отредактируйте файл /etc/httpd/conf/httpd.conf
и настройте опцию ServerName
для ссылки на узел контроллера:
ServerName controller
Create a link to the /usr/share/keystone/wsgi-keystone.conf
file:
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
Запустите Apache HTTP сервис и настройте его автоматический запуск при загрузке системы:
# systemctl enable httpd.service
# systemctl start httpd.service
Configure the administrative account
$ export OS_USERNAME=admin
$ export OS_PASSWORD=ADMIN_PASS
$ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PROJECT_DOMAIN_NAME=Default
$ export OS_AUTH_URL=http://controller:35357/v3
$ export OS_IDENTITY_API_VERSION=3
Replace ADMIN_PASS
with the password used in the
keystone-manage bootstrap
command in keystone-install-configure.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.