儀表盤
Dashboard(horizon)是一個web接口,使得雲平台管理員以及用戶可以管理不同的Openstack資源以及服務。
這個部署示例使用的是 Apache Web 服務器。
節點配置信息說明:
控制節點:controller:
IP:192.168.164.128
hostname&hosts:likeadmin
計算加點:Nova:
IP:192.168.164.129
hostname&hosts:likenode
塊存儲節點:cinder:
IP:192.168.164.136
hostname&hosts:likeblock
1.安裝和配置
這個部分將描述如何在控制節點上安裝和配置儀表板。
dashboard僅在核心服務中要求認證服務。你可以將dashboard與其他服務,如鏡像服務、計算服務和網絡服務等結合使用。你也可以在單擊服務環境如對象存儲中使用dashboard。
注解:這部分假設認證服務使用的Apache HTTP服務和Memcached服務,已經像在 :ref:`Install and configure the Identity service <keystone-install>`中描述的一樣正確的安裝,配置和操作。
2.安全並配置組件
注解:默認配置文件在各發行版本中可能不同。你可能需要添加這些部分,選項而不是修改已經存在的部分和選項。另外,在配置片段中的省略號(...)表示默認的配置選項你應該保留。
安裝軟件包:
# yum install openstack-dashboard
編輯文件 /etc/openstack-dashboard/local_settings 並完成如下動作:
在 controller 節點上配置儀表盤以使用 OpenStack 服務:
OPENSTACK_HOST = "likeadmin"
Allow your hosts to access the dashboard:
ALLOWED_HOSTS = ['*']
注解:ALLOWED_HOSTS也可以['*']接受所有主機。 這可能對開發工作有用,但可能不安全,不應在生產中使用。
配置 memcached 會話存儲服務:
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'likeadmin:11211',
}
}
注解
將其他的會話存儲服務配置注釋。
啟用第3版認證API:
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
啟用對域的支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
配置API版本:
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2,
}
將默認配置為您通過儀表板創建的用戶的默認域:
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
通過儀表盤創建的用戶默認角色配置為 user :
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
如果您選擇網絡參數1,禁用支持3層網絡服務:
OPENSTACK_NEUTRON_NETWORK = {
...
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}
可以選擇性地配置時區:
TIME_ZONE = "Asia/Shanghai"
完成安裝¶
重啟web服務器以及會話存儲服務:
# systemctl restart httpd.service memcached.service
**如果按裝后無法打開OpenStack的登錄界面,需要在/etc/httpd/conf.d/openstack-dashboard.conf文件里加入WSGIApplicationGroup %{GLOBAL} 並重啟服務 **
[root@likeadmin network-scripts]# cd /etc/httpd/conf.d/
[root@likeadmin conf.d]# vi openstack-dashboard.conf
WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
Alias /dashboard/static /usr/share/openstack-dashboard/static
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
Options All
AllowOverride All
Require all granted
</Directory>
<Directory /usr/share/openstack-dashboard/static>
Options All
AllowOverride All
Require all granted
</Directory>
[root@likeadmin conf.d]#
[root@likeadmin conf.d]# systemctl restart httpd.service memcached.service
登錄時有如下報錯:
Something went wrong!
An unexpected error has occurred. Try refreshing the page. If that doesn't help, contact your local administrator.
查詢/var/log/httpd/error_log發現有如下的報錯:
less /var/log/httpd/error_log
[Fri Mar 08 12:38:07.798417 2019] [:error] [pid 32598] "Unable to create a new session key. "
[Fri Mar 08 12:38:07.798419 2019] [:error] [pid 32598] RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
[root@likeadmin conf.d]#
解決方法
1.修改配置文件
vim /etc/openstack-dashboard/local_settings
2.將SESSION_ENGINE值修改
原
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
改為
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
3.重啟服務,然后再次登錄。
systemctl restart httpd.service memcached.service
3.驗證:
在瀏覽器中輸入如下地址:
http://likeadmin/dashboard/
驗證使用 admin 或者``demo``用戶憑證和``default``域憑證。
賬號和密碼:admin djl18001
以下是登錄界面:
注:至此我們已基本上完成OpenStack環境搭建。