このセクションでは、コントローラーノードに OpenStack Identity サービス (コード名 keystone) をインストールして設定する方法を説明します。スケーラビリティーを重視し、この設定では Fernet トークンを使用し、 Apache HTTP サーバーを使ってリクエストを処理します。
Identity サービスをインストールして設定する前に、データベースを作成する必要があります。
データベースクライアントを使用して、データベースサーバーに 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
を適切なパスワードに置き換えます。
データベースクライアントを終了します。
注釈
設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれません。また、設定のスニペットにある 省略 (...
) は、保持すべきデフォルトの設定オプションを意味します。
注釈
このガイドは、Apache HTTP server の mod_wsgi
を使用して、5000 番と 35357 番のポートで Identity サービスのリクエストを処理します。デフォルトでは、 keystone サービスがこれらのポートをリッスンする点は変わりません。 mod_wsgi
apache2 モジュールの有効化や Apache での keystone 設定など、必要な Apache の設定はすべてパッケージが行ってくれます。
以下のコマンドを実行して、パッケージをインストールします。
# apt install keystone
/etc/keystone/keystone.conf
ファイルを編集し、以下の作業をすべて行います。
[database]
セクションで、データベースのアクセス方法を設定します。
[database]
# ...
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
KEYSTONE_DBPASS
をデータベース用に選択したパスワードで置き換えます。
注釈
[database]
セクションにある他の connection
オプションは、コメントアウトまたは削除します。
[token]
セクションで Fernet トークンプロバイダーを設定します。
[token]
# ...
provider = fernet
Identity サービスデータベースを展開します。
# 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
Identity サービスを初期設定を行います。
# 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
ADMIN_PASS
は管理ユーザーの適切なパスワードに置き換えます。
/etc/apache2/apache2.conf
ファイルを編集し、ServerName
オプションがコントローラーノードを参照するように設定します。
ServerName controller
注釈
Debian パッケージにより、以下の処理が実行されます。
# a2enmod wsgi
# a2ensite wsgi-keystone.conf
# invoke-rc.d apache2 restart
管理アカウントの設定
$ 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
keystone-install-configure で実行した keystone-manage bootstrap
コマンドに使用したパスワードで ADMIN_PASS
を置き換えます。
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.