Debian 12 bookworm
Sponsored Link

OpenStack Zed : Keystone 設定 #12023/06/27

 
OpenStack Identity Service (Keystone) をインストールします。
当例では以下のような環境に Keystone をインストールします。
        eth0|10.0.0.30 
+-----------+-----------+
|   [ dlp.srv.world ]   |
|     (Control Node)    |
|                       |
|  MariaDB    RabbitMQ  |
|  Memcached  Nginx     |
|  Keystone   httpd     |
+-----------------------+

[1] Keystone 用のユーザーとデータベースを MariaDB に作成しておきます。
root@dlp:~#
mysql

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.11.3-MariaDB-1 Debian 12

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database keystone; 
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on keystone.* to keystone@'localhost' identified by 'password'; 
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on keystone.* to keystone@'%' identified by 'password'; 
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
[2] Keystone をインストールします。インストール中の問には全て [No] で OK です。
root@dlp:~#
apt -y install keystone python3-openstackclient apache2 libapache2-mod-wsgi-py3 python3-oauth2client
[3] Keystone の基本設定です。
root@dlp:~#
vi /etc/keystone/keystone.conf
# 363行目 : Memcache サーバーを追記

memcache_servers = 10.0.0.30:11211
# 543行目 : MariaDB に作成した Keystone DB 情報追記

[database]
connection = mysql+pymysql://keystone:password@10.0.0.30/keystone
# 2169行目 : コメント解除

provider = fernet
# [Exception ignored in ***] は無視でよい

root@dlp:~#
su -s /bin/bash keystone -c "keystone-manage db_sync"
# キー初期化

root@dlp:~#
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

root@dlp:~#
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
# keystone API ホストを定義

root@dlp:~#
export controller=dlp.srv.world
# keystone ブートストラップ
# [adminpassword] は任意の管理者パスワードを設定

root@dlp:~#
keystone-manage bootstrap --bootstrap-password adminpassword \
--bootstrap-admin-url https://$controller:5000/v3/ \
--bootstrap-internal-url https://$controller:5000/v3/ \
--bootstrap-public-url https://$controller:5000/v3/ \
--bootstrap-region-id RegionOne

[4]
SSL/TLS 証明書を取得、または、自己署名のSSL/TLS 証明書を作成しておきます。
当例では取得した正規の証明書で進めます。
[5] Apache httpd の基本設定です。
root@dlp:~#
vi /etc/apache2/apache2.conf
# 70行目 : サーバー名を追記

ServerName dlp.srv.world
root@dlp:~#
vi /etc/apache2/sites-available/keystone.conf
# 新規作成
# SSL 証明書は自身のものに置き換え

Listen 5000

<VirtualHost *:5000>
    SSLEngine on
    SSLHonorCipherOrder on
    SSLCertificateFile /etc/letsencrypt/live/dlp.srv.world/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/dlp.srv.world/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/dlp.srv.world/chain.pem
    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-public
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    LimitRequestBody 114688

    <IfVersion >= 2.4>
      ErrorLogFormat "%{cu}t %M"
    </IfVersion>

    ErrorLog /var/log/apache2/keystone.log
    CustomLog /var/log/apache2/keystone_access.log combined

    <Directory /usr/bin>
        Require all granted
    </Directory>
</VirtualHost>

Alias /identity /usr/bin/keystone-wsgi-public
<Location /identity>
    SetHandler wsgi-script
    Options +ExecCGI

    WSGIProcessGroup keystone-public
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
</Location>

root@dlp:~#
a2ensite keystone

Enabling site keystone.
To activate the new configuration, you need to run:
  systemctl reload apache2

root@dlp:~#
a2enmod ssl

Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
  systemctl restart apache2

root@dlp:~#
systemctl disable --now keystone

root@dlp:~#
systemctl restart apache2
関連コンテンツ