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服务。
在计算节点(c1)上安装仪表板服务horizon
由于horizon运行需要apache,为了不影响控制节点上的keystone等其他服务使用的apache,故在计算节点上安装。安装之前确认以前安装的服务是否正常启动。
安装软件包
yum install openstack-dashboard -y
编辑配置文件
必须直接用vim编辑,不可清空后在复制粘贴。
vim /etc/openstack-dashboard/local_settings
118行,配置仪表板以在controller节点上使用OpenStack服务 :
OPENSTACK_HOST = "ct"
39行,允许主机访问仪表板:
ALLOWED_HOSTS = ['*'] #['*']是指的接受所有主机。
100行,配置memcached会话存储服务:
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'ct:11211',
},
}
126行,启用身份认证服务API版本3:
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
127行,加入,启用对多域的支持:
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
128行。加入配置API版本:
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 3,
}
133行,加入,配置Default为通过仪表板创建的用户的默认域:
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
配置user为通过仪表板创建的用户的默认角色:
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
139行选择了二层网络,要禁用对第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
重新启动计算节点(c1)上apache服务
systemctl enable httpd.service
systemctl restart httpd.service
由于dashboard的运行机制是把网站下的所有文件删除之后再重新复制,所以重启httpd需要等待一段时间。
重新启动控制节点(ct)上的memcache服务
systemctl restart memcached.service
验证操作
在别的电脑使用Web浏览器访问仪表板,网址为 http://192.168.10.42(注意,和以前版本不一样,不加dashboard)
使用admin登录,密码是ADMIN_PASS
右上角改变下主题
可以看到我们在安装glance时上传的cirros镜像
可以管理项目、用户、组和角色
把所有模块点一下,看有没有报错信息。
至此,horizon安装完毕。
做了域名解析,也可以用域名访问dashboard。