OpenStack 仪表板 Dashboard 服务的项目名称是 Horizon,它所需的唯一服务是身份服务 keystone,开发语言是 python 的 web 框架 Django。
系统要求
安装 Train 版本的 Horizon 有以下要求:
1、语言环境
Python 2.7、3.6 或 3.7
Django 1.11、2.0 和 2.2
Django 2.0 和 2.2 支持在 Train 版本中处于试验阶段。
Ussuri 发行版(Train 发行版之后的下一个发行版)将使用 Django 2.2 作为主要的 Django 版本。Django 2.0 支持将被删除。
2、可访问的 keystone endpoint
3、其他服务都是可选的。
从 Stein 版本开始,Horizon 支持以下服务:
cinder:块状存储
glance:镜像管理
neutron:网络
nova:计算
swift:对象存储
如果已配置好服务 keystone 的 endpoint,那么 Horizon 将对其进行检测并自动启用其支持。
Horizon 还通过插件支持许多其他 OpenStack 服务。
在计算节点(compute)上安装仪表板服务 horizon
由于 horizon 运行需要 apache,为了不影响控制节点上的 keystone 等其他服务使用的 apache,故在计算节点上安装。安装之前确认以前安装的服务是否正常启动。
安装软件包
yum install openstack-dashboard -y
编辑配置文件
必须直接用 vim 编辑,不可清空后在复制粘贴。
cp /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.bak
vim /etc/openstack-dashboard/local_settings
39 行,允许主机访问仪表板:
ALLOWEDHOSTS = [‘*‘] # [‘*‘]是指的接受所有主机。
100 行,增加配置 memcached 会话存储服务:
SESSION_ENGINE = ‘django.contrib.sessions.backends.cache’
CACHES = {
‘default’: {
‘BACKEND’: ‘django.core.cache.backends.memcached.MemcachedCache’,
‘LOCATION’: ‘controller:11211’,
}
}
124 行,配置仪表板可以在 controller 节点上使用 OpenStack 服务 :
OPENSTACK_HOST = “controller”
125 行,启用身份认证服务 API 版本 3:
OPENSTACK_KEYSTONE_URL = “http://%s:5000/v3“ % OPENSTACK_HOST
126 行,增加,启用对多域的支持:
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
127 行。增加加入配置 API 版本:
OPENSTACK_API_VERSIONS = {
“identity”: 3,
“image”: 2,
“volume”: 3,
}
132 行,增加,配置 Default 为通过仪表板创建的用户的默认域:
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = “Default”
133行,增加,配置 user 为通过仪表板创建的用户的默认角色:
OPENSTACK_KEYSTONE_DEFAULT_ROLE = “user”
138 行选择了二层网络,要禁用对第 3 层网络服务的支持:
OPENSTACK_NEUTRON_NETWORK = {
‘enable_auto_allocated_network’: False,
‘enable_distributed_router’: False,
‘enable_ha_router’: False,
‘enable_ipv6’: False,
‘enable_rbac_policy’: False,
‘enable_router’: False,
‘enable_quotas’: False,
‘enable_lb’: False,
‘enable_fip_topology_check’: False,
‘default_dns_nameservers’: [],
‘supported_provider_types’: [‘*’],
‘segmentation_id_range’: {},
‘extra_provider_types’: {},
‘supported_vnic_types’: [‘*’],
‘physical_networks’: [],
}
False 必须首字母大写
配置时区(可选):
TIME_ZONE = “Asia/Shanghai”
以下两步官方文档中没有**,但是需要执行,否则 dashboard 打不开或显示不对**
重建 apache 的 dashboard 配置文件
cd /usr/share/openstack-dashboard
python manage.py make_web_conf —apache > /etc/httpd/conf.d/openstack-dashboard.conf
建立策略文件(policy.json)的软链接,否则登录到 dashboard 将出现权限错误和显示混乱
ln -s /etc/openstack-dashboard /usr/share/openstack-dashboard/openstack_dashboard/conf
重新启动计算节点(compute)上 apache 服务
systemctl enable httpd.service
systemctl restart httpd.service
由于 dashboard 的运行机制是把网站下的所有文件删除之后再重新复制,所以重启 httpd 需要等待一段时间。
重新启动控制节点(controller)上的 memcache 服务
systemctl restart memcached.service
验证操作
在别的电脑使用 Web 浏览器访问仪表板,网址为 http://192.168.100.20(注意,和以前版本不一样,不加 dashboard)
使用 admin 登录,密码是 000000
右上角改变下主题
可以看到我们在安装 glance 时上传的 cirros 镜像
可以管理项目、用户、组和角色
把所有模块点一下,看有没有报错信息。
至此,horizon 安装完毕。
做了域名解析,也可以用域名访问 dashboard。
https://blog.51cto.com/11694088/2460460