一、Dashboard介绍
Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。这个部署示例使用的是 Apache Web 服务器。dashboard仅在核心服务中要求认证服务。你可以将dashboard与其他服务,如镜像服务、计算服务和网络服务等结合使用。你也可以在单击服务环境如对象存储中使用dashboard。
Dashboard 特点:
-
提供一个web界面操作Openstack的系统。
-
使用Django框架基于Openstack API开发(开发就是更换下模板)
-
支持将Session 存储在DB、Memcached
-
支持集群
创建虚拟机有三种方法:
-
horizon
-
命令行
-
API
本次案例将要在计算节点node2上来安装horizon。因为要在计算节点安装,所以时间同步到问题就非常重要了,一定要保证同步时间问题。
如果服务没有启动,就先不要再keystone上注册,因为horizon只认keystone,它从keystone上看到你注册的服务了,就会认为服务已经启动,但是此时你的服务是么有启动的,这样会报错(虽然不影响使用)
二、Dashboard安装配置
1、安装包
1
|
yum
install
openstack-dashboard
|
2、编辑文件 /etc/openstack-dashboard/local_settings 并完成如下动作
-
在
controller
节点上配置仪表盘以使用 OpenStack 服务:
1
|
OPENSTACK_HOST =
"controller"
#这里controller是keystone的地址
|
-
允许所有主机访问仪表板:
1
|
ALLOWED_HOSTS = [
'*'
, ]
#这里是可以控制的类似nginx的黑白名单
|
-
配置
memcached
会话存储服务:
1
2
3
4
5
6
7
8
9
10
11
|
SESSION_ENGINE =
'django.contrib.sessions.backends.cache'
CACHES = {
'default'
: {
'BACKEND'
:
'django.core.cache.backends.memcached.MemcachedCache'
,
'LOCATION'
:
'controller:11211'
,
}
}
#当有集群的时候,为了保持session的共享问题,session都要存储在memcache中(当然也可以是其他的缓存服务)
#将其他的会话存储服务配置注释。
|
-
启用第3版认证API:
1
|
OPENSTACK_KEYSTONE_URL =
"http://%s:5000/v3"
% OPENSTACK_HOST
|
-
启用对域的支持
1
|
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
#这里只有v3版本才支持
|
这里如果没有成功,是环境变量中有一个没有配置
1
|
export
OS_IDENTITY_API_VERSION=3
|
-
配置API版本:
1
2
3
4
5
|
OPENSTACK_API_VERSIONS = {
"identity"
: 3,
"image"
: 2,
"volume"
: 2,
}
|
-
通过仪表盘创建用户时的默认域配置为
default
:
1
|
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN =
"default"
|
-
通过仪表盘创建的用户默认角色配置为
user
:
1
|
OPENSTACK_KEYSTONE_DEFAULT_ROLE =
"user"
|
-
如果您选择网络参数1,禁用支持3层网络服务:
1
2
3
4
5
6
7
8
9
10
11
|
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,
}
|
-
可以选择性地配置时区:
1
|
TIME_ZONE =
"TIME_ZONE"
|
3、完成安装
重启web服务器以及会话存储服务:
1
|
systemctl restart httpd.service
|
验证仪表盘的操作。
在浏览器中输入 ``http://controller/dashboard``访问仪表盘。
验证使用 admin
或者``demo``用户凭证和``default``域凭证。
本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/1890650,如需转载请自行联系原作者