OpenStack系列(6)

一、管理服务概览

Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的OpenStack资源以及服务。Dashboard仅在核心服务中要求认证服务。你可以将dashboard与其他服务,如镜像服务、计算服务和网络服务等结合使用,也可以在单击服务环境如对象存储中使用dashboard。

Dashboard特点:

  • 提供一个web界面操作OpenStack的系统。
  • 使用Django框架基于OpenStack API开发(开发就是更换下模板)
  • 支持Session。存储在DB、Memcached
  • 支持集群

创建虚拟机有三种方法:

  • horizon
  • 命令行
  • API

二、安装和配置组件

1. 安装软件包

1
apt-get install openstack-dashboard

2. 编辑/etc/openstack-dashboard/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
cp /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.bak
vim /etc/openstack-dashboard/local_settings

# 配置仪表板以在controller节点上使用OpenStack服务 :
OPENSTACK_HOST = "ctl01"

# 允许您的主机访问信息中心:
ALLOWED_HOSTS = ['*', 'localhost']

# 配置memcached会话存储服务:
# 注释掉任何其他会话存储配置。
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'controller:11211',
}
}

# 启用Identity API版本3:
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

# 启用对域的支持:
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

# 配置API版本:
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2,
}

# 配置Default为通过仪表板创建的用户的默认域:
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"

注意:
/etc/httpd/conf.d/openstack-dashboard.conf如果未包含,请添加以下行

1
2
vim /etc/httpd/conf.d/openstack-dashboard.conf
WSGIApplicationGroup %{GLOBAL}

3. 重启服务

重新启动Web服务器和会话存储服务

1
2
service httpd memcached restart
service httpd memcached status

4. 验证操作

1
2
3
4
使用Web浏览器访问仪表板 http://ctl01/dashboard

Authenticate using admin or demo user and default domain credentials.
使用admin或demo用户和default域凭据进行身份验证。

注意:
登录OpenStack提示:出错啦

1
2
3
4
5
6
7
vim /etc/openstack-dashboard/local_settings

#SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_ENGINE = 'django.contrib.sessions.backends.file'

service httpd memcached restart
service httpd memcached status

参考文档:

  1. https://www.jianshu.com/p/e64a1d04a92c