Keystoneのインストールになります。
まずWikipediaで検索すると、
とあります。
参考にするサイトは下記の3つになります。
https://aton-kish.github.io/blog/post/2020/09/13/openstack-ussuri-keystone/
https://www.server-world.info/query?os=Ubuntu_20.04&p=openstack_victoria&f=3
OpenStack公式サイト
https://docs.openstack.org/keystone/victoria/install/keystone-install-ubuntu.html
上記のOpenStackの公式サイトから画像を利用させて頂いています。
OpenStackのドキュメントのライセンス条項 CC-BY
Wikipediaに乗っているライセンス条項の組み合わせ CC-BY
Creative Commons Attribution 3.0 License
https://creativecommons.org/licenses/by/3.0/deed.ja
ここからKeystoneインストール
OpenStackの公式サイトを見ると前提条件があります。
データベースを作成しないといけないので下記のコマンドをルートユーザで実行します。
KEYSTONE_DBPASSは書き換えてください。
mysql
CREATE DATABASE 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のインストールになるのですが、注意事項が書かれています。
デフォルトの設定はディストリビューションごとに異なることが書かれています。
5000番ポートでidentityサービスのリクエストが処理されることが書かれています。
下記のパッケージをインストールします。
keystone: OpenStackのKeystoneパッケージ
python3-openstackclient: OpenStackのクライアントパッケージ
apache2: Apache HTTPサーバのパッケージ
libapache2-mod-wsgi-py3: Webサーバとアプリケーションを接続するためのインターフェースのパッケージ
apt -y install keystone python3-openstackclient apache2 libapache2-mod-wsgi-py3
ちなみに公式では、Keystoneのみのインストールになっています。
つぎは/etc/keystone/keystone.confの編集になります。viで編集します。
cd /etc/keystone
cp -ip keystone.conf keystone.conf_yyyymmdd
vi keystone.conf
公式のとおり、データベースに登録したKEYSTONE_DBPASSに書き換えてください。
tokenはfernetです。
fernetプロバイダーについて調べてみました。
RedHatの説明が一番わかりやすいです。
RedHatのfernetトークンの説明のリンク
https://access.redhat.com/documentation/ja-jp/red_hat_openstack_platform/16.1/html/security_and_hardening_guide/tokens_identity-and-access-management
次はKeystoneのデータベース同期になります。
su -s /bin/sh -c "keystone-manage db_sync" keystone
keyの初期化をします。
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:5000/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
ADMIN_PASSは、任意のパスワードに書き換える。
apache2.confをviで編集する。
最後の設定になります。
apache2の再起動
環境変数を設定する。
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:5000/v3
export OS_IDENTITY_API_VERSION=3
ADMIN_PASSは、任意のパスワードに書き換える。
環境変数をエクスポートするスクリプトを作成する。
vi ~/admin-openrc
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:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
admin-openrcスクリプトを実行して試しに認証トークンをリクエストしてみる。
認証トークンのリクエストのコマンド
必須のサービスプロジェクトを作成する。リンク参照
https://docs.openstack.org/keystone/pike/install/keystone-users-obs.html
openstack project create --domain default --description "Service Project" service
サービスプロジェクトが作成されたか確認する
以上です。