インストールと設定

インストールと設定

このセクションでは、コントローラーノードに OpenStack Identity サービス (コード名 keystone) をインストールして設定する方法を説明します。この設定では、パフォーマンスを重視し、Apache HTTP サーバーを使ってリクエストを処理し、SQL データベースの代わりに Memcached を使ってトークンを保存するようにします。

前提条件

OpenStack Identity サービスを設定する前に、データベースと管理トークンを作成する必要があります。

  1. 以下の作業を実行して、データベースを作成します。

    • データベースクライアントを使用して、データベースサーバーに root ユーザーとして接続します。

      $ mysql -u root -p
      
    • keystone データベースを作成します。

      CREATE DATABASE keystone;
      
    • keystone データベースに適切なアクセス権を付与します。

      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      

      KEYSTONE_DBPASS を適切なパスワードに置き換えます。

    • データベースクライアントを終了します。

  2. 初期設定中に管理トークンとして使用するランダム値を生成します。

    $ openssl rand -hex 10
    

コンポーネントのインストールと設定

注釈

設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれません。また、設定のスニペットにある 省略 (...) は、保持すべきデフォルトの設定オプションを意味します。

注釈

Kilo リリースと Liberty リリースでは、keystone プロジェクトは eventlet を非推奨扱いとしています。代わりに WSGI 拡張に対応した専用 Web サーバーの使用を推奨しています。このガイドでは、Apache HTTP server の mod_wsgi を使用して、5000 番ポートと 35357 番ポートで Identity サービスのリクエストを処理します。デフォルトでは、keystone サービスは、まだ 5000 番と 35357 番をリッスンしています。そのため、このガイドでは、keystone サービスを無効化します。keystone プロジェクトは、Mitaka リリースで eventlet のサポートを削除する予定です。

  1. 以下のコマンドを実行して、パッケージをインストールします。

    # yum install openstack-keystone httpd mod_wsgi \
      memcached python-memcached
    
  1. memcached サービスを起動し、システム起動時に起動するよう設定します。

    # systemctl enable memcached.service
    # systemctl start memcached.service
    
  1. /etc/keystone/keystone.conf ファイルを編集し、以下の作業をすべて行います。

    • [DEFAULT] セクションに初期管理トークンの値を定義します。

      [DEFAULT]
      ...
      admin_token = ADMIN_TOKEN
      

      ADMIN_TOKEN を前の手順で生成したランダム値で置き換えます。

    • [database] セクションで、データベースのアクセス方法を設定します。

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

      KEYSTONE_DBPASS をデータベース用に選択したパスワードで置き換えます。

    • [memcache] セクションで Memcached サービスを設定します。

      [memcache]
      ...
      servers = localhost:11211
      
    • [token] セクションで UUID トークンプロバイダーと memcached ドライバーを設定します。

      [token]
      ...
      provider = uuid
      driver = memcache
      
    • [revoke] セクションで SQL revocation ドライバーを設定します。

      [revoke]
      ...
      driver = sql
      
    • (オプション) トラブルシューティングしやすくするために、冗長ロギングを [DEFAULT] セクションで有効にします。

      [DEFAULT]
      ...
      verbose = True
      
  1. Identity サービスデータベースを展開します。

    # su -s /bin/sh -c "keystone-manage db_sync" keystone
    

Apache HTTP Server の設定

  1. /etc/httpd/conf/httpd.conf ファイルを編集し、ServerName オプションがコントローラーノードを参照するように設定します。

    ServerName controller
    
  2. /etc/httpd/conf.d/wsgi-keystone.conf を以下の内容で作成します。

    Listen 5000
    Listen 35357
    
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
          ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
    
        <Directory /usr/bin>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        <IfVersion >= 2.4>
          ErrorLogFormat "%{cu}t %M"
        </IfVersion>
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined
    
        <Directory /usr/bin>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
        </Directory>
    </VirtualHost>
    

インストールの最終手順

  • Apache HTTP サービスを起動し、システム起動時に起動するよう設定します。

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

Search