CentOS Stream 9
Sponsored Link

OpenStack Caracal : Horizon 設定2024/08/06

 

OpenStack Dashboard Service(Horizon)をインストールします。
Dashboard Service により、Web ベース GUI で OpenStack の操作が可能となります。

当例では以下のような環境に Horizon をインストールします。

        eth0|10.0.0.30 
+-----------+-----------+
|   [ dlp.srv.world ]   |
|     (Control Node)    |
|                       |
|  MariaDB    RabbitMQ  |
|  Memcached  Nginx     |
|  Keystone   httpd     |
|  Glance     Nova API  |
|  Nova Compute         |
|    Neutron Server     |
|    Open vSwitch       |
|  OVN Metadata Agent   |
|    OVN-Controller     |
|       Horizon         |
+-----------------------+

[1] Horizon をインストールします。
# Caracal, EPEL, CRB からインストール

[root@dlp ~(keystone)]#
dnf --enablerepo=centos-openstack-caracal,epel,crb -y install openstack-dashboard
[2] Horizon の設定です。
[root@dlp ~(keystone)]#
vi /etc/openstack-dashboard/local_settings
# 39行目 : アクセスを許可するホストを設定
# ['*'] 指定で全て許可

ALLOWED_HOSTS = ['
*
', 'localhost' ]
# 94-99行目 : コメント解除して Memcache サーバーホストを指定

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': 'dlp.srv.world:11211',
    },
}

# 105行目 : 追記

SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 118行目 : Openstack ホストを指定
# 119行目 : コメントにして、その下に Keystone ホストの URL を追記

OPENSTACK_HOST = "
dlp.srv.world
"
#
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_URL = "https://dlp.srv.world:5000"
# 123行目 : 自身のタイムゾーンに変更

TIME_ZONE = "
Asia/Tokyo
"
# 最終行に追記

WEBROOT = '/dashboard/'
LOGIN_URL = '/dashboard/auth/login/'
LOGOUT_URL = '/dashboard/auth/logout/'
LOGIN_REDIRECT_URL = '/dashboard/'
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
# 自己署名の証明書を使用している場合は [True]
OPENSTACK_SSL_NO_VERIFY = False

[root@dlp ~(keystone)]#
vi /etc/httpd/conf.d/openstack-dashboard.conf
# 4行目 : 追記

WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi
WSGIApplicationGroup %{GLOBAL}
# 5行目 : 変更

WSGIScriptAlias /dashboard
/usr/share/openstack-dashboard/openstack_dashboard/wsgi.py
# 8行目 : 変更

<Directory
/usr/share/openstack-dashboard/openstack_dashboard
>
[root@www ~]#
vi /etc/httpd/conf.d/ssl.conf
# 43行目 : コメント解除

DocumentRoot "/var/www/html"
# 44行目 : コメント解除してサーバー名指定

ServerName
dlp.srv.world:443
# 85行目 : 取得した証明書を指定

SSLCertificateFile
/etc/letsencrypt/live/dlp.srv.world/cert.pem
# 93行目 : 取得した鍵ファイルを指定

SSLCertificateKeyFile
/etc/letsencrypt/live/dlp.srv.world/privkey.pem
# 102行目 : 取得した中間証明書を指定

SSLCertificateChainFile
/etc/letsencrypt/live/dlp.srv.world/chain.pem
[root@dlp ~(keystone)]#
systemctl restart httpd openstack-nova-api
[3] SELinux を有効にしている場合は、ブール値の変更が必要です。
[root@dlp ~(keystone)]#
setsebool -P httpd_can_network_connect on

[4] Firewalld を有効にしている場合は、サービスの許可が必要です。
[root@dlp ~(keystone)]#
firewall-cmd --add-service={http,https}

success
[root@dlp ~(keystone)]#
firewall-cmd --runtime-to-permanent

success
[5]
アクセスを許可した任意のホストで Web ブラウザーを起動し、以下の URL にアクセスします。
⇒ https://(サーバーのホスト名 または IP アドレス)/dashboard/
アクセスするとログイン画面が表示され、Keystone に登録した任意のユーザーとパスワードで認証可能です。
keystone ブートストラップ 時に設定した admin ユーザーでログインすると全ての管理操作が可能です。
一般ユーザーでログインした場合は、自身が所有するインスタンス等の管理操作ができます。
[6] ログインすると以下のような画面になります。ここから Web GUI で様々な操作をすることができます。
[7] インスタンスにアクセスするには、左メニューの [Instances] をクリックします。 すると右ペインにインスタンス一覧が表示されます。
インスタンスの名前をクリックすると、インスタンスの詳細が確認できます。
[8] インスタンス詳細が表示されます。上部にある [Console] タブをクリックすると、インスタンスのコンソールにアクセスできます。
[9] インスタンスのコンソールにアクセスすると、Dashboard 上でインスタンスの操作を行うことができます。
関連コンテンツ