OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 8.仪表盘 Dashboard(horizon)安装配置

仪表盘
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环境搭建。

 

posted on 2019-04-29 13:39  likezn  阅读(1264)  评论(0编辑  收藏  举报