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服务。
在计算节点上安装仪表板服务horizon
由于horizon运行需要apache,为了不影响控制节点上的keystone等其他服务使用的apache,故在计算节点上安装。安装之前确认以前安装的服务是否正常启动。
1.安装软件包
yum install openstack-dashboard -y
2.修改配置文件
cp /etc/openstack-dashboard/local_settings /etc/openstack-dashboard/local_settings.bak grep -Ev '^$|#' /etc/openstack-dashboard/local_settings.bak>/etc/openstack-dashboard/local_settings vi /etc/openstack-dashboard/local_settings ------------------------------------------------------------------------------------ import os from django.utils.translation import ugettext_lazy as _ from openstack_dashboard.settings import HORIZON_CONFIG DEBUG = False ALLOWED_HOSTS = ['*'] LOCAL_PATH = '/tmp' SECRET_KEY='1f462fdec55816e3dc70' SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '172.17.0.211:11211', }, } EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' OPENSTACK_HOST = "172.17.0.211" OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True OPENSTACK_API_VERSIONS = { "identity": 3, "image": 2, "volume": 3, } OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default" OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user" OPENSTACK_NEUTRON_NETWORK = { 'enable_auto_allocated_network': False, 'enable_distributed_router': False, 'enable_fip_topology_check': False, 'enable_ha_router': False, 'enable_ipv6': False, 'enable_quotas': False, 'enable_rbac_policy': False, 'enable_router': False, 'enable_lb': False, 'default_dns_nameservers': [], 'supported_provider_types': ['*'], 'segmentation_id_range': {}, 'extra_provider_types': {}, 'supported_vnic_types': ['*'], 'physical_networks': [], } TIME_ZONE = "Asia/Shanghai"
3.重建apache的dashboard配置文件
cd /usr/share/openstack-dashboard python manage.py make_web_conf --apache > /etc/httpd/conf.d/openstack-dashboard.conf
4.建立policy.json软链接
ln -s /etc/openstack-dashboard /usr/share/openstack-dashboard/openstack_dashboard/conf
5.设置开机启动并重启apache服务
systemctl enable httpd.service systemctl restart httpd.service