介绍 Horizon是一个web接口,使得云平台管理员以及用户可以管理不同的OpenStack资源以及服务。
提供一个Web界面操作OpenStack系统 使用Django框架基于OpenStack API开发 支持将session存储在DB、Memcached 支持集群
部署 安装dashboard
代码语言:javascript复制# 在全部控制节点安装dashboard服务,以controller01节点为例
[root@controller01 ~]# yum install openstack-dashboard -y
配置local_settings
代码语言:javascript复制# 在全部控制节点操作,以controller01节点为例;
# 注意local_settings文件的权限:root:apache
[root@controller01 ~]# cp /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.bak
# 列出修改处的行数
[root@controller01 ~]# vim /etc/openstack-dashboard/local_settings
# 允许所有主机访问
38 ALLOWED_HOSTS = ['*', 'localhost']
# 强制使用相应版本的api
64 OPENSTACK_API_VERSIONS = {
65 # "data-processing": 1.1,
66 "identity": 3,
67 "image": 2,
68 "volume": 2,
69 # "compute": 2,
70 }
# 在多域模式运行时开启,登陆时除账号/密码外还需要输入域
75 OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
# 取消注释
97 OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
# 取消158~163行注释,并使用memcached集群
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
158 CACHES = {
159 'default': {
160 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
161 'LOCATION': 'controller01:11211,controller02:11211,controller03:11211',
162 },
163 }
# 注释165~169行
165 #CACHES = {
166 # 'default': {
167 # 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
168 # },
169 #}
# 监听地址使用vip;
# keystone认证使用v3;
# 设置通过dashboard创建的用户具有”user”角色权限
#选的第一个provider网络,还需要禁用三层的一些网络插件
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,
}
# 修改时区
463 TIME_ZONE = "Asia/Shanghai"
配置openstack-dashboard.conf
代码语言:javascript复制# 在全部控制节点操作;
# 赋权,在第3行后新增” WSGIApplicationGroup %{GLOBAL}”
[root@controller01 ~]# cp /etc/httpd/conf.d/openstack-dashboard.conf /etc/httpd/conf.d/openstack-dashboard.conf.bak
[root@controller01 ~]# sed -i '3a WSGIApplicationGroup %{GLOBAL}' /etc/httpd/conf.d/openstack-dashboard.conf
启动服务
代码语言:javascript复制# 全部控制节点操作;
[root@controller01 ~]# systemctl restart httpd.service memcached.service
验证 登陆:IP/dashboard
域/账号/密码:default/admin/admin_pass,或:default/demo/demo_pass
想省略dashboard,需要在httpd中添加
代码语言:javascript复制cd /etc/httpd/conf.d/
cat openstack-dashboard.conf
RedirectMatch permanent ^/$ /dashboard