一、简介
Openatck Dashboard(Horizon)提供了一个 基于web的用户界面,使得云平台管理员以及用户可以以图形化界面方式管理不同的Openstack资源以及服务。Dashboard使用Django Web框架开发,调用OpenStack API,支持将session存储在DB、Memcached中。当前配置默认认证服务使用的Apache HTTP服务和Memcached服务。
二、部署脚本
Dashboard配置需要在三个控制节点上执行配置操作,配置脚本install-configure-dashboard.sh如下:
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 |
#!/bin/sh . ../0-set-config.sh ./style/print-split.sh "Dashboard Installation" ### [所有控制节点] 安装Dashboard ./pssh-exe C "yum install -y openstack-dashboard" ### [所有控制节点] 修改配置文件/etc/openstack-dashboard/local_settings ./scp-exe C "../conf/server-status.conf" "/etc/httpd/conf.d/server-status.conf" for ((i=0; i<${#controller_map[@]}; i+=1)); do name=${controller_name[$i]}; ip=${controller_map[$name]}; ssh $ip /bin/bash << EOF sed -i \ -e 's#OPENSTACK_HOST =.*#OPENSTACK_HOST = "'"${virtual_ip}"'"#g' \ -e "s#ALLOWED_HOSTS.*#ALLOWED_HOSTS = ['*',]#g" \ -e "s#^CACHES#SESSION_ENGINE = 'django.contrib.sessions.backends.cache'\nCACHES#g#" \ -e "s#locmem.LocMemCache'#memcached.MemcachedCache',\n 'LOCATION' : [ 'controller01:11211', 'controller02:11211', 'controller03:11211', ]#g" \ -e 's#^OPENSTACK_KEYSTONE_URL =.*#OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST#g' \ -e "s/^#OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT.*/OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True/g" \ -e 's/^#OPENSTACK_API_VERSIONS.*/OPENSTACK_API_VERSIONS = {\n "identity": 3,\n "image": 2,\n "volume": 2,\n}\n#OPENSTACK_API_VERSIONS = {/g' \ -e "s/^#OPENSTACK_KEYSTONE_DEFAULT_DOMAIN.*/OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'default'/g" \ -e 's#^OPENSTACK_KEYSTONE_DEFAULT_ROLE.*#OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"#g' \ -e "s#^LOCAL_PATH.*#LOCAL_PATH = '/var/lib/openstack-dashboard'#g" \ -e "s#^SECRET_KEY.*#SECRET_KEY = '4050e76a15dfb7755fe3'#g" \ -e "s#'enable_ha_router'.*#'enable_ha_router': True,#g" \ /etc/openstack-dashboard/local_settings echo "COMPRESS_OFFLINE = True" >> /etc/openstack-dashboard/local_settings python /usr/share/openstack-dashboard/manage.py compress sed -i -e 's/^Listen.*/Listen '"$ip"':80/g' /etc/httpd/conf/httpd.conf systemctl restart httpd.service EOF ##### generate haproxy.cfg . ./1-gen-haproxy-cfg.sh dashborad done |
三、参考文档
https://docs.openstack.org/mitaka/install-guide-rdo/horizon.html
四、源码
脚本源码:https://github.com/zjmeixinyanzhi/Openstack-HA-Install-Shells
五、系列文章
Openstack云平台脚本部署之Galera高可用集群配置(二)
Openstack云平台脚本部署之RabbitMQ高可用集群部署(三)
Openstack云平台脚本部署之Memcached配置(五)
Openstack云平台脚本部署之Keystone认证服务配置(六)
Openstack云平台脚本部署之Glance镜像服务配置(七)
Openstack云平台脚本部署之Nova计算服务配置(八)
Openstack云平台脚本部署之Neutron网络服务配置(九)
Openstack云平台脚本部署之Dashboard配置(十)
Openstack云平台脚本部署之Cinder块存储服务配置(十一)
Openstack云平台脚本部署之Ceilometer数据收集服务配置(十二)
Openstack云平台脚本部署之Aodh告警服务配置(十三)
hey,小梅
echo “COMPRESS_OFFLINE = True” >> /etc/openstack-dashboard/local_settings
python /usr/share/openstack-dashboard/manage.py compress
这个没有看懂,可以解释下吗?
感谢!
可以看看django中关于Offline Compression的解释:
http://django-compressor.readthedocs.io/en/latest/scenarios/
http://django-compressor.readthedocs.io/en/latest/behind-the-scenes/#behind-the-scenes
讲真,看得我很模糊
作用就是: 加快访问速度??
是的,我理解的是借助django-compressor将js/css等静态资源合并压缩,将模版文件中标注{% load compress %}中的一些由变量组合的文件链接合并成静态链接,从而减少请求次数,加快页面渲染。