OpenStack Train版双节点安装(十一)安装仪表板服务horizon
更新:HHH   时间:2023-1-7


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。



返回云计算教程...