阅读 205

源码部署OpenStack-dasshboard(Q版本)

简介

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证授权的开源代码项目 
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台
OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面,它是一个正在开发中的云计算平台项目,根据成熟及重要程度的不同,被分解成核心项目、孵化项目,以及支持项目和相关项目,每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,孵化项目可以根据发展的成熟度和重要性,转变为核心项目
核心组件
1、计算(Compute)Nova:一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格
2、对象存储(Object Storage)Swift:一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件,可为Glance提供镜像存储,为Cinder提供卷备份服务
3、镜像服务(Image Service)Glance:一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能
4、身份服务(Identity Service)Keystone:为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles
5、网络&地址管理(Network)Neutron:提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN,插件架构支持许多主流的网络厂家和技术,如OpenvSwitch
6、块存储(Block Storage)Cinder:为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷
7、UI 界面(Dashboard)Horizon:OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等
8、测量(Metering)Ceilometer:能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑
9、部署编排(Orchestration)Heat:提供了一种通过模板定义的协同部署方式,实现云基础设施软件运行环境(计算、存储和网络资源)的自动化部署
10、数据库服务(Database Service)Trove:为用户在OpenStack的环境提供可扩展和可靠的关系和非关系数据库引擎服务

前期准备

准备Centos7虚拟机,配置IP地址和hostname,同步系统时间,关闭防火墙和selinux,修改ip地址和hostname映射

iphostname
192.168.29.130controller

部署keystone、glance、nova、neutron组件
部署详细步骤可参考:https://blog.51cto.com/14832653/2516210

部署服务

安装依赖服务

#安装下载依赖包的服务[root@controller ~]# yum install yum-utils gettext -y#下载依赖包[root@controller ~]# yumdownloader openstack-dashboard --resolve --destdir=/tmp/package[root@controller ~]# cd /tmp/package#安装依赖包[root@controller ~]# yum localinstall *.rpm -y

下载解压源码包
从github上可获取源码包
https://github.com/openstack/horizon/tree/stable/queens

[root@controller ~]# unzip horizon-stable-queens.zip[root@controller ~]# mv horizon-stable-queens/ /horizon-stable-queens/

修改配置文件

[root@controller ~]# cp /horizon-stable-queens/openstack_dashboard/local/local_settings.py.example  /horizon-stable-queens/openstack_dashboard/local/local_settings.py[root@controller ~]# vi /horizon-stable-queens/openstack_dashboard/local/local_settings.pyDEBUG = False
WEBROOT = '/dashboard'
ALLOWED_HOSTS = ['horizon.example.com','*' ]
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
OPENSTACK_API_VERSIONS = {    "identity": 3,    "image": 2,    "volume": 2,
}
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': 'controller:11211',
    },
}
OPENSTACK_HOST = "controller"OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"

编译安装

[root@controller ~]# cd /horizon-stable-queens/[root@controller horizon-stable-queens]# ./manage.py  compilemessages[root@controller horizon-stable-queens]# ./manage.py  collectstatic[root@controller horizon-stable-queens]# ./manage.py  compress[root@controller horizon-stable-queens]# ./manage.py  make_web_conf --wsgi[root@controller horizon-stable-queens]# ./manage.py  make_web_conf --apache > /etc/httpd/conf.d/openstack-dashboard.conf

修改配置文件

[root@controller ~]# vi /etc/httpd/conf.d/openstack-dashboard.conf 
 WSGIScriptAlias /dashboard /horizon-stable-queens/openstack_dashboard/wsgi/horizon.wsgi
  <Location "/dashboard">        Require all granted
    </Location>

    Alias /dashboard/static /horizon-stable-queens/static
    <Location "/dashboard/static">
        SetHandler None
    </Location>

修改所属用户及用户组

[root@controller ~]# chown -R apache:apache /horizon-stable-queens

重启服务

[root@controller ~]# systemctl restart httpd memcached

测试验证

浏览器访问:http://ip/dashboard
在这里插入图片描述

©著作权归作者所有:来自51CTO博客作者wx5ed6455937203的原创作品,如需转载,请注明出处,否则将追究法律责任


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐