Установка и настройка

Установка и настройка

Этот раздел описывает как установить и настроить сервис идентификации OpenStack, известный как keystone, на управляющем узле. Для масштабируемости, данная конфигурация разворачивает токены Fernet и Apache HTTP сервер для обработки запросов.

Предварительные требования

Before you install and configure the Identity service, you must create a database.

  1. Используйте клиент баз данных для подключения к серверу БД под пользователем root:

    $ mysql -u root -p
    
  1. Создайте базу данных keystone:

    MariaDB [(none)]> CREATE DATABASE keystone;
    
  2. Предоставьте необходимый доступ к базе данных 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 подходящим паролем.

  3. Закройте клиент баз данных.

Установите и сконфигурируйте компоненты

Примечание

Набор конфигурационных файлов по умолчанию может варьироваться между дистрибуциями. Вам может потребоваться добавить данные разделы и опции вместо того, чтобы изменять существующие. Также, эллипсис (...) в конфигурационных сниппетах означают потенциальные опции конфигурации, которые вам необходимо сохранить без изменений.

Примечание

В этом руководстве используется HTTP сервер Apache с установленным ``mod_wsgi``для обслуживания запросов к сервису идентификации по портам 5000 и 35357. По умолчанию сервис keystone слушает эти порты. Тем не менее, в этом руководстве сервис keystone выключается.

  1. Исполните следующую команду для установки пакетов:

    # yum install openstack-keystone httpd mod_wsgi
    
  1. Отредактируйте файл /etc/keystone/keystone.conf и выполните следующие действия:

    • Сконфигурируйте доступ к базе данных в разделе [database]:

      [database]
      # ...
      connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
      

      Замените KEYSTONE_DBPASS на пароль, который вы выбрали для базы данных.

      Примечание

      Закомментируйте или удалите любые другие опции connection в разделе [database].

    • В секции [token] настройте службу токенов Fernet:

      [token]
      # ...
      provider = fernet
      
  2. Заполните базу данных службы Идентификации:

    # su -s /bin/sh -c "keystone-manage db_sync" keystone
    
  3. Инициализируйте репозитории Fernet:

    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    
  4. 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.

Крнфигурация Apache HTTP сервера

  1. Отредактируйте файл /etc/httpd/conf/httpd.conf и настройте опцию ServerName для ссылки на узел контроллера:

    ServerName controller
    
  2. Create a link to the /usr/share/keystone/wsgi-keystone.conf file:

    # ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
    

Завершите установку

  1. Запустите Apache HTTP сервис и настройте его автоматический запуск при загрузке системы:

    # systemctl enable httpd.service
    # systemctl start httpd.service
    
  1. 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.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.