このセクションでは、コントローラーノードに OpenStack Identity サービス (コード名 keystone) をインストールして設定する方法を説明します。この設定では、パフォーマンスを重視し、Apache HTTP サーバーを使ってリクエストを処理し、SQL データベースの代わりに Memcached を使ってトークンを保存するようにします。
OpenStack Identity サービスを設定する前に、データベースと管理トークンを作成する必要があります。
以下の作業を実行して、データベースを作成します。
データベースクライアントを使用して、データベースサーバーに 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 を適切なパスワードに置き換えます。
データベースクライアントを終了します。
初期設定中に管理トークンとして使用するランダム値を生成します。
$ openssl rand -hex 10
以下のコマンドを実行して、パッケージをインストールします。
# apt-get install keystone
注釈
keystone パッケージの依存関係により、python-keystoneclient が自動的にインストールされます。
dbconfig-common を用いたデータベースの設定 のプロンプトに答えます。入力した内容は、以下のデータベースアクセスのディレクティブに設定されます。
[database]
...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
dbconfig-common を使用しない場合、自分自身でデータベースを作成し、そのアクセス権を設定する必要があります。また、手動で以下を実行します。
# keystone-manage db_sync
初期設定中に管理トークンとして使用するランダム値を生成します。
$ openssl rand -hex 10
初期管理トークンを設定します。
前の手順で生成したランダムな値を使用します。非対話モードを使用してインストールした場合や、このトークンを指定しなかった場合は、設定ツールがランダムな値を生成します。
後で、パッケージにより以下のディレクティブに入力した値が設定されます。
[DEFAULT]
...
admin_token = ADMIN_TOKEN
admin プロジェクトと admin ユーザーを作成します。
パッケージインストールの最終段階で、 admin テナントと admin ユーザーを自動で作成できます。これらは、後で、他の OpenStack サービスが Identity サービスにアクセスするのに使用できます。以下のコマンドを実行するのと同等です。
# openstack project create --description "Admin Tenant" admin
# openstack user create --password ADMIN_PASS --email root@localhost admin
# openstack role create admin
# openstack role add --project demo --user demo user
Debian の場合、Keystone パッケージが自動的にサービスカタログに Keystone を登録します。以下のコマンドを実行するのと同等です。
# openstack service create --name keystone --description "OpenStack Identity" identity
# keystone endpoint-create \
--publicurl http://controller:5000/v2.0 \
--internalurl http://controller:5000/v2.0 \
--adminurl http://controller:35357/v2.0 \
--region RegionOne \
identity
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.