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

簡介

OpenStack是一個開源的雲計算管理平臺項目,是一系列軟件開源項目的組合,由NASA(美國國家航空航天局)和Rackspace合做研發併發起,以Apache許可證受權的開源代碼項目
OpenStack爲私有云和公有云提供可擴展的彈性的雲計算服務,項目目標是提供實施簡單、可大規模擴展、豐富、標準統一的雲計算管理平臺
OpenStack覆蓋了網絡、虛擬化、操做系統、服務器等各個方面,它是一個正在開發中的雲計算平臺項目,根據成熟及重要程度的不一樣,被分解成核心項目、孵化項目,以及支持項目和相關項目,每一個項目都有本身的委員會和項目技術主管,並且每一個項目都不是一成不變的,孵化項目能夠根據發展的成熟度和重要性,轉變爲核心項目
核心組件
一、計算(Compute)Nova:一套控制器,用於爲單個用戶或使用羣組管理虛擬機實例的整個生命週期,根據用戶需求來提供虛擬服務。負責虛擬機建立、開機、關機、掛起、暫停、調整、遷移、重啓、銷燬等操做,配置CPU、內存等信息規格
二、對象存儲(Object Storage)Swift:一套用於在大規模可擴展系統中經過內置冗餘及高容錯機制實現對象存儲的系統,容許進行存儲或者檢索文件,可爲Glance提供鏡像存儲,爲Cinder提供卷備份服務
三、鏡像服務(Image Service)Glance:一套虛擬機鏡像查找及檢索系統,支持多種虛擬機鏡像格式(AKI、AMI、ARI、ISO、QCOW二、Raw、VDI、VHD、VMDK),有建立上傳鏡像、刪除鏡像、編輯鏡像基本信息的功能
四、身份服務(Identity Service)Keystone:爲OpenStack其餘服務提供身份驗證、服務規則和服務令牌的功能,管理Domains、Projects、Users、Groups、Roles
五、網絡&地址管理(Network)Neutron:提供雲計算的網絡虛擬化技術,爲OpenStack其餘服務提供網絡鏈接服務。爲用戶提供接口,能夠定義Network、Subnet、Router,配置DHCP、DNS、負載均衡、L3服務,網絡支持GRE、VLAN,插件架構支持許多主流的網絡廠家和技術,如OpenvSwitch
六、塊存儲(Block Storage)Cinder:爲運行實例提供穩定的數據塊存儲服務,它的插件驅動架構有利於塊設備的建立和管理,如建立卷、刪除卷,在實例上掛載和卸載卷
七、UI 界面(Dashboard)Horizon:OpenStack中各類服務的Web管理門戶,用於簡化用戶對服務的操做,例如:啓動實例、分配IP地址、配置訪問控制等
八、測量(Metering)Ceilometer:能把OpenStack內部發生的幾乎全部的事件都收集起來,而後爲計費和監控以及其它服務提供數據支撐
九、部署編排(Orchestration)Heat:提供了一種經過模板定義的協同部署方式,實現雲基礎設施軟件運行環境(計算、存儲和網絡資源)的自動化部署
十、數據庫服務(Database Service)Trove:爲用戶在OpenStack的環境提供可擴展和可靠的關係和非關係數據庫引擎服務linux

前期準備

準備Centos7虛擬機,配置IP地址和hostname,同步系統時間,關閉防火牆和selinux,修改ip地址和hostname映射git

ip hostname
192.168.29.130 controller

部署keystone、glance、nova、neutron組件
部署詳細步驟可參考:http://www.javashuo.com/article/p-dszayery-mn.htmlgithub

部署服務

安裝依賴服務web

#安裝下載依賴包的服務
[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/

修改配置文件apache

[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.py
DEBUG = 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"

編譯安裝django

[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
在這裏插入圖片描述

相關文章
相關標籤/搜索