OpenStack Identityサービスは、認証、承認、およびサービスカタログサービスを管理するための単一の統合ポイントを提供します。
実際にはユーザー管理機能を提供するのではなく、現在の認証サービスまたは市場で入手可能なサードパーティのIDサービスを選択するためのプラグインインターフェイスを提供します。
OpenStack Identityサービスをインストールするときは、OpenStackインストールに各サービスを登録する必要があります。 Identity Serviceは、インストールされているOpenStackサービスと、それらがネットワーク上のどこにあるかを追跡できます。
先に進む前に、前の記事のインフラストラクチャ設計を確認してください。
このガイドでは、コントローラーノードにOpenStack Identity Service(keystone)をインストールして構成する方法を説明します。
前提条件:
OpenStack Identity Serviceをインストールする前に、データベースと管理トークンを作成する必要があります。
#mysql -u root -p
キーストーンデータベースを作成します。
CREATE DATABASE keystone;
キーストーンデータベースへの適切なアクセスを設定します。
keystoneのすべての特権を付与します。*'PASSWDによって識別される'keystone'@'localhost'に ';すべての特権をkeystoneに付与します。*TO'keystone'@'%'IDENTIFIED BY' PASSWD ';
データベースアクセスクライアントを終了します。
* PASSWDを置き換えます 適切なパスワードを使用してください。
ランダムな値を生成します。これは、初期構成の管理トークンとして使用できます。
#openssl rand -hex 10
KeyStoneのインストールと構成:
インストール後にkeystoneサービスが自動的に開始されないようにします。
#echo "manual"> /etc/init/keystone.override
* KiloとLibertyでは、Apache HTTPサーバーを使用して、このバージョンのOpenStackで減価償却されるEventletの代わりにmod_wsgiを使用して、ポート5000と35357でキーストーンリクエストを処理します。
keystoneパッケージをインストールします。
#apt-get install keystone apache2 libapache2-mod-wsgi memcached python-memcache
キーストーン構成ファイルを編集します。
#nano /etc/keystone/keystone.conf
上記のファイルの適切なセクションに次のエントリを配置します。
[DEFAULT] ... admin_token = 43405b090eda983ddde2 ##43405b090eda983ddde2を以前に生成したランダムに置き換えます verbose =True[データベース]... ##PASSWDをKeyStoneDBパスワードに置き換え、ControllerをコントローラーノードのIPまたはホスト名に置き換えます ##他のMySQL接続エントリを見つけた場合は、コメントアウトしてください。 接続=mysql+ pymysql:// keystone: PASSWD @コントローラー / keystone [memcache] ... servers =localhost:11211 [token] ... Provider =uuiddriver =memcache [revoke] ... driver =sql
次のコマンドを実行して、IDサービスデータベースにデータを入力します。
#su -s / bin / sh -c "keystone-manage db_sync" keystone
Apache HTTPサーバーの構成:
/etc/apache2/apache2.confを編集します サーバー名を構成します コントローラノードを参照するオプションを選択し、グローバル構成セクションに追加します。
ServerNameコントローラー
以下のファイルを作成します。
#nano /etc/apache2/sites-enabled/wsgi-keystone.conf
次のコンテンツを上記のファイルに貼り付けます。
Listen 5000Listen 35357WSGIDaemonProcess keystone-publicprocesses =5threads =1 user =keystone group =keystone display-name =%{GROUP} WSGIProcessGroup keystone-public WSGIScriptAlias / / usr / bin / keystone-wsgi -public WSGIApplicationGroup%{GLOBAL} WSGIPassAuthorization On Apacheサービスを再起動します。=2.4> ErrorLogFormat "%{cu} t%M" ErrorLog /var/log/apache2/keystone.log CustomLog / var / log / apache2/keystone_access。結合されたログ=2.4>すべての許可を要求する 仮想>仮想> 35357> WSGIDaemonProcess keystone-adminプロセス=5スレッド=1user =keystone group =keystone display-name =%{GROUP} WSGIProcessGroup keystone-admin WSGIScriptAlias / / usr / bin / keystone-wsgi-admin WSGIApplicationGroup%{GLOBAL} WSGIPassAuthorization On =2.4> ErrorLogFormat "%{cu} t%M" ErrorLog /var/log/apache2/keystone.log CustomLog /var/log/apache2/keystone_access.log Combined=2.4>すべての許可を要求する 注文の許可、拒否すべての許可 #service apache2 restartMySQLデータベースを使用しているため、SQLiteデータベースを削除します。
#rm -f /var/lib/keystone/keystone.db次は、サービスエンティティとAPIエンドポイントを作成します。
Ubuntu