OpenStack Caracal : Keystone 設定 #12024/08/06 |
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 3 Server version: 10.5.22-MariaDB MariaDB Server 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)]> exit Bye |
[2] | Keystone をインストールします。 |
[root@dlp ~]# dnf --enablerepo=centos-openstack-caracal,epel -y install openstack-keystone python3-openstackclient httpd mod_ssl python3-mod_wsgi python3-oauth2client mod_ssl
|
[3] | Keystone の基本設定です。 |
[root@dlp ~]#
vi /etc/keystone/keystone.conf # 446行目 : Memcache サーバーを追記 memcache_servers = dlp.srv.world:11211
# 695行目 : MariaDB に作成した Keystone DB を追記 [database] connection = mysql+pymysql://keystone:password@dlp.srv.world/keystone
[token]
..... ..... # 2634行目 : コメント解除 provider = fernet
[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 ホストを定義 [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] | SELinux を有効にしている場合は、ブール値の変更が必要です。 |
[root@dlp ~]# setsebool -P httpd_use_openstack on [root@dlp ~]# setsebool -P httpd_can_network_connect on [root@dlp ~]# setsebool -P httpd_can_network_connect_db on
[root@dlp ~]#
vi keystone-httpd.te # 以下の内容で新規作成 module keystone-httpd 1.0; require { type httpd_t; type keystone_var_lib_t; type keystone_log_t; class file { create getattr ioctl open read write }; class dir { add_name create write }; } #============= httpd_t ============== allow httpd_t keystone_var_lib_t:dir { add_name create write }; allow httpd_t keystone_var_lib_t:file { create open write getattr ioctl open read }; allow httpd_t keystone_log_t:dir { add_name write }; allow httpd_t keystone_log_t:file create; checkmodule -m -M -o keystone-httpd.mod keystone-httpd.te [root@dlp ~]# semodule_package --outfile keystone-httpd.pp --module keystone-httpd.mod [root@dlp ~]# semodule -i keystone-httpd.pp |
[5] | Firewalld を有効にしている場合は、サービスポートの許可が必要です。 |
[root@dlp ~]# firewall-cmd --add-port=5000/tcp success [root@dlp ~]# firewall-cmd --runtime-to-permanent success |
[6] | |
[7] | Keystone 用の設定ファイルを有効にして Apache httpd を起動します。 |
[root@dlp ~]#
vi /etc/httpd/conf/httpd.conf # 101行目 : 自身のサーバー名を追記 ServerName dlp.srv.world
[root@dlp ~]#
vi /usr/share/keystone/wsgi-keystone.conf # SSL の設定を追記
Listen 5000
<VirtualHost *:5000>
SSLEngine on
SSLHonorCipherOrder on
SSLCipherSuite PROFILE=SYSTEM
SSLProxyCipherSuite PROFILE=SYSTEM
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
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public
.....
.....
[root@dlp ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ [root@dlp ~]# systemctl enable --now httpd |
Sponsored Link |