CentOS Stream 8
Sponsored Link

OpenStack Xena : Horizon 設定2021/11/22

 
OpenStack Dashboard Service(Horizon)をインストールします。
Dashboard Service により、Web ベース GUI で OpenStack の操作が可能となります。
当例では以下のような環境に Horizon をインストールします。
        eth0|10.0.0.30 
+-----------+-----------+
|    [ Control Node ]   |
|                       |
|  MariaDB    RabbitMQ  |
|  Memcached  httpd     |
|  Keystone   Glance    |
|  Nova API   Horizon   |
+-----------------------+

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

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

# ['*'] 指定で全て許可

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

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

# 105行目 : 追記

SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 118行目 : Openstack ホストを指定

# 119行目 : コメントにして、その下に Keystone ホストの URL を追記

OPENSTACK_HOST = "
10.0.0.30
"
#
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_URL = "http://10.0.0.30:5000/v3"
# 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'

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

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

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

<Directory
/usr/share/openstack-dashboard/openstack_dashboard
>
[root@dlp ~(keystone)]#
systemctl restart httpd
# 一般ユーザーに Dashboard 上からインスタンスの詳細やコンソールアクセスを許可する場合は以下も設定

[root@dlp ~(keystone)]#
vi /etc/nova/policy.json
{
  # 追記
  "os_compute_api:os-extended-server-attributes": "rule:admin_or_owner",
}

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