openstack集群部署—Horizon集群

介绍

Horizon是一个web接口,使得云平台管理员以及用户可以管理不同的OpenStack资源以及服务。

  • 提供一个Web界面操作OpenStack系统
  • 使用Django框架基于OpenStack API开发
  • 支持将session存储在DB、Memcached
  • 支持集群

部署

安装dashboard

1
2
# 在全部控制节点安装dashboard服务,以controller01节点为例
[root@controller01 ~]# yum install openstack-dashboard -y

配置local_settings

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 在全部控制节点操作,以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

1
2
3
4
# 在全部控制节点操作;
# 赋权,在第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

启动服务

1
2
# 全部控制节点操作;
[root@controller01 ~]# systemctl restart httpd.service memcached.service

验证

登陆:IP/dashboard

域/账号/密码:default/admin/admin_pass,或:default/demo/demo_pass

想省略dashboard,需要在httpd中添加

1
2
3
cd /etc/httpd/conf.d/
cat openstack-dashboard.conf
RedirectMatch permanent ^/$ /dashboard
Donate